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 <vector>
13 #include <string>
14 
15 #include "boost/signals.hpp"
16 
17 struct DDPosData;
18 class DDG4SolidConverter;
19 class G4LogicalVolume;
20 class G4VPhysicalVolume;
21 class G4Material;
22 class G4VSolid;
23 class DDCompactView;
24 
25 class DDG4Builder {
26 
27 public:
28  DDG4Builder(const DDCompactView*, bool check=false);
29  ~DDG4Builder();
32 
33 protected:
34  G4VSolid * convertSolid(const DDSolid & dSolid);
35  G4LogicalVolume * convertLV(const DDLogicalPart & dLogical);
36  G4Material * convertMaterial(const DDMaterial & dMaterial);
37  int getInt(const std::string & s, const DDLogicalPart & dLogical);
38  double getDouble(const std::string & s, const DDLogicalPart & dLogical);
39 
40 protected:
42  std::map<DDMaterial,G4Material*> mats_;
43  std::map<DDSolid,G4VSolid*> sols_;
44  std::map<DDLogicalPart,G4LogicalVolume*> logs_;
45 
46 private:
50  bool check_;
51 };
52 
53 #endif
std::vector< DDG4Dispatchable * > DDG4DispContainer
G4LogicalVolume * convertLV(const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:43
Relative position of a child-volume inside a parent-volume.
Definition: DDPosData.h:16
std::map< DDSolid, G4VSolid * > sols_
Definition: DDG4Builder.h:43
double getDouble(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:216
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:41
std::map< DDLogicalPart, G4LogicalVolume * > logs_
Definition: DDG4Builder.h:44
const DDCompactView * compactView
Definition: DDG4Builder.h:47
static DDG4DispContainer * theVectorOfDDG4Dispatchables_
Definition: DDG4Builder.h:48
type of data representation of DDCompactView
Definition: DDCompactView.h:77
A DDSolid represents the shape of a part.
Definition: DDSolid.h:35
G4Material * convertMaterial(const DDMaterial &dMaterial)
Definition: DDG4Builder.cc:68
bool check(const DataFrame &df, bool capcheck, bool dvercheck)
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:88
static DDG4DispContainer * theVectorOfDDG4Dispatchables()
Definition: DDG4Builder.cc:30
DDG4SolidConverter * solidConverter_
Definition: DDG4Builder.h:41
DDGeometryReturnType BuildGeometry()
Definition: DDG4Builder.cc:108
G4VSolid * convertSolid(const DDSolid &dSolid)
Definition: DDG4Builder.cc:60
DDG4Builder(const DDCompactView *, bool check=false)
Definition: DDG4Builder.cc:34
std::map< DDMaterial, G4Material * > mats_
Definition: DDG4Builder.h:42
G4LogicalVolumeToDDLogicalPartMap map_
Definition: DDG4Builder.h:49
int getInt(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:195