DD4hep  1.31.0
Detector Description Toolkit for High Energy Physics
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 
22 namespace dd4hep {
23 
25  namespace xml {
26  class Handle_t;
27  class UriReader;
28  }
29 
30  class Detector;
31 
33 
43  class DetectorLoad {
44  public:
45  friend class Detector;
46 
47  protected:
50 
51  protected:
53  DetectorLoad(Detector* description);
54 
55  public:
56 #ifdef G__ROOT
57  DetectorLoad() = default;
59 #else
60  DetectorLoad() = delete;
62 #endif
63  DetectorLoad(DetectorLoad&& copy) = delete;
66  DetectorLoad(const DetectorLoad& copy) = default;
67 
69  DetectorLoad(Detector& description);
71  virtual ~DetectorLoad();
76 
78  virtual void processXML(const std::string& fname, xml::UriReader* entity_resolver=0);
80  virtual void processXML(const xml::Handle_t& base, const std::string& fname, xml::UriReader* entity_resolver=0);
82  virtual void processXMLString(const char* xmldata);
84 
86  virtual void processXMLString(const char* xmldata, xml::UriReader* entity_resolver);
88  virtual void processXMLElement(const std::string& msg_source, const xml::Handle_t& root);
90  virtual void processXMLElement(const xml::Handle_t& root, DetectorBuildType type);
91  };
92 
93 } /* End namespace dd4hep */
94 #endif // DD4HEP_DETECTORLOAD_H
Detector.h
dd4hep::DetectorLoad::m_detDesc
Detector * m_detDesc
Reference to the Detector instance.
Definition: DetectorLoad.h:49
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:43
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