CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDG4Builder.h
Go to the documentation of this file.
1 #ifndef SimG4Core_DDG4Builder_h
2 #define SimG4Core_DDG4Builder_h
3 
6 
10 
11 #include <map>
12 #include <string>
13 #include <vector>
14 
15 class DDG4SolidConverter;
16 class G4LogicalVolume;
17 class G4VPhysicalVolume;
18 class G4Material;
19 class G4VSolid;
20 class DDCompactView;
21 
22 class DDG4Builder {
23 public:
24  DDG4Builder(const DDCompactView *, bool check = false);
25  ~DDG4Builder();
28 
29 protected:
30  G4VSolid *convertSolid(const DDSolid &dSolid);
31  G4LogicalVolume *convertLV(const DDLogicalPart &dLogical);
32  G4Material *convertMaterial(const DDMaterial &dMaterial);
33  int getInt(const std::string &s, const DDLogicalPart &dLogical);
34  double getDouble(const std::string &s, const DDLogicalPart &dLogical);
35 
36 protected:
38  std::map<DDMaterial, G4Material *> mats_;
39  std::map<DDSolid, G4VSolid *> sols_;
40  std::map<DDLogicalPart, G4LogicalVolume *> logs_;
41 
42 private:
46  bool check_;
47 };
48 
49 #endif
std::map< DDLogicalPart, G4LogicalVolume * > logs_
Definition: DDG4Builder.h:40
std::vector< DDG4Dispatchable * > DDG4DispContainer
G4LogicalVolume * convertLV(const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:39
double getDouble(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:225
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:43
const DDCompactView * compactView
Definition: DDG4Builder.h:43
static DDG4DispContainer * theVectorOfDDG4Dispatchables_
Definition: DDG4Builder.h:44
std::map< DDSolid, G4VSolid * > sols_
Definition: DDG4Builder.h:39
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
G4Material * convertMaterial(const DDMaterial &dMaterial)
Definition: DDG4Builder.cc:66
std::map< DDMaterial, G4Material * > mats_
Definition: DDG4Builder.h:38
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93
static DDG4DispContainer * theVectorOfDDG4Dispatchables()
Definition: DDG4Builder.cc:30
DDG4SolidConverter * solidConverter_
Definition: DDG4Builder.h:37
DDGeometryReturnType BuildGeometry()
Definition: DDG4Builder.cc:107
G4VSolid * convertSolid(const DDSolid &dSolid)
Definition: DDG4Builder.cc:57
DDG4Builder(const DDCompactView *, bool check=false)
Definition: DDG4Builder.cc:32
def check(config)
Definition: trackerTree.py:14
G4LogicalVolumeToDDLogicalPartMap map_
Definition: DDG4Builder.h:45
int getInt(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:202