DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
DetectorLoad.h
Go to the documentation of this file.
1 //==========================================================================
2 // AIDA Detector description implementation
3 //--------------------------------------------------------------------------
4 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
5 // All rights reserved.
6 //
7 // For the licensing terms see $DD4hepINSTALL/LICENSE.
8 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
9 //
10 // Author : M.Frank
11 //
12 //==========================================================================
13 #ifndef DD4HEP_DETECTORLOAD_H
14 #define DD4HEP_DETECTORLOAD_H
15 
16 // Framework includes
17 #include "DD4hep/Detector.h"
18 
19 // C/C++ include files
20 #include <stdexcept>
21 
23 namespace dd4hep {
24 
26  namespace xml {
27  class Handle_t;
28  class UriReader;
29  }
30 
31  class Detector;
32 
34 
44  class DetectorLoad {
45  public:
46  friend class Detector;
47 
48  protected:
51 
52  protected:
54  DetectorLoad(Detector* description);
55 
56  public:
57 #ifdef G__ROOT
58  DetectorLoad() = default;
60 #else
61  DetectorLoad() = delete;
63 #endif
64  DetectorLoad(DetectorLoad&& copy) = delete;
67  DetectorLoad(const DetectorLoad& copy) = default;
68 
70  DetectorLoad(Detector& description);
72  virtual ~DetectorLoad();
77 
79  virtual void processXML(const std::string& fname, xml::UriReader* entity_resolver=0);
81  virtual void processXML(const xml::Handle_t& base, const std::string& fname, xml::UriReader* entity_resolver=0);
83  virtual void processXMLString(const char* xmldata);
85 
87  virtual void processXMLString(const char* xmldata, xml::UriReader* entity_resolver);
89  virtual void processXMLElement(const std::string& msg_source, const xml::Handle_t& root);
91  virtual void processXMLElement(const xml::Handle_t& root, DetectorBuildType type);
92  };
93 
94 } /* End namespace dd4hep */
95 #endif // DD4HEP_DETECTORLOAD_H
Detector.h
dd4hep::DetectorLoad::m_detDesc
Detector * m_detDesc
Reference to the Detector instance.
Definition: DetectorLoad.h:50
dd4hep::DetectorLoad::~DetectorLoad
virtual ~DetectorLoad()
Default destructor.
Definition: DetectorLoad.cpp:45
dd4hep::xml::Handle_t
Class to easily access the properties of single XmlElements.
Definition: XMLElements.h:380
dd4hep::DetectorLoad::processXMLElement
virtual void processXMLElement(const std::string &msg_source, const xml::Handle_t &root)
Process a given DOM (sub-) tree.
Definition: DetectorLoad.cpp:129
dd4hep::DetectorLoad::DetectorLoad
DetectorLoad(const DetectorLoad &copy)=default
Default copy constructor.
dd4hep::DetectorLoad::processXMLString
virtual void processXMLString(const char *xmldata)
Process XML unit and adopt all data from source string in momory.
Definition: DetectorLoad.cpp:98
dd4hep::xml
Namespace for the AIDA detector description toolkit supporting XML utilities.
Definition: ConditionsTags.h:27
dd4hep::DetectorLoad::DetectorLoad
DetectorLoad()=delete
No defautl constructor.
dd4hep::DetectorLoad
Data implementation class of the Detector interface.
Definition: DetectorLoad.h:44
dd4hep::DetectorLoad::operator=
DetectorLoad & operator=(const DetectorLoad &copy)=default
Copy assignment constructor.
dd4hep::xml::UriReader
Class supporting to read data given a URI.
Definition: UriReader.h:35
dd4hep::DetectorBuildType
DetectorBuildType
Detector description build types.
Definition: BuildType.h:34
dd4hep
Namespace for the AIDA detector description toolkit.
Definition: AlignmentsCalib.h:28
dd4hep::Detector
The main interface to the dd4hep detector description package.
Definition: Detector.h:90
dd4hep::detail::tools::copy
void copy(Alignment from, Alignment to)
Copy alignment object from source object.
Definition: AlignmentTools.cpp:43
dd4hep::DetectorLoad::operator=
DetectorLoad & operator=(DetectorLoad &&copy)=delete
No move assignment.
dd4hep::DetectorLoad::processXML
virtual void processXML(const std::string &fname, xml::UriReader *entity_resolver=0)
Process XML unit and adopt all data from source structure.
Definition: DetectorLoad.cpp:49