CMS 3D CMS Logo

DDParsingContext.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_DD_PARSING_CONTEXT_H
2 #define DETECTOR_DESCRIPTION_DD_PARSING_CONTEXT_H
3 
4 #include "DD4hep/Detector.h"
5 
6 namespace cms {
7 
9 
10  public:
11  using VecDouble = std::vector<double>;
12 
14  : description( det ) {
15  namespaces.push_back("");
16  }
17 
18  ~DDParsingContext() = default;
19  const std::string& ns() const { return namespaces.back(); }
20  void addVector( const std::string& name, const VecDouble& value );
21 
23  std::map<std::string, dd4hep::Rotation3D> rotations;
24  std::map<std::string, dd4hep::Solid> shapes;
25  std::map<std::string, dd4hep::Volume> volumes;
26  std::map<std::string, VecDouble > numVectors;
27  std::set<std::string> disabledAlgs;
28  std::vector<std::string> namespaces;
29 
30  bool geo_inited = false;
31 
32  // Debug flags
33  bool debug_includes = false;
34  bool debug_constants = false;
35  bool debug_materials = false;
36  bool debug_rotations = false;
37  bool debug_shapes = false;
38  bool debug_volumes = false;
39  bool debug_placements = false;
40  bool debug_namespaces = false;
41  bool debug_visattr = false;
42  bool debug_algorithms = false;
43  };
44 }
45 
46 #endif
const std::string & ns() const
void addVector(const std::string &name, const VecDouble &value)
std::map< std::string, dd4hep::Solid > shapes
~DDParsingContext()=default
dd4hep::Detector * description
std::map< std::string, VecDouble > numVectors
std::vector< double > VecDouble
std::map< std::string, dd4hep::Volume > volumes
Definition: value.py:1
std::set< std::string > disabledAlgs
Namespace of DDCMS conversion namespace.
std::vector< std::string > namespaces
std::map< std::string, dd4hep::Rotation3D > rotations
DDParsingContext(dd4hep::Detector *det)