CMS 3D CMS Logo

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;
22 
23 class DDG4Builder {
24 public:
26  ~DDG4Builder();
27  G4LogicalVolume *BuildGeometry(SensitiveDetectorCatalog &);
28 
29 private:
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 
37  std::map<DDMaterial, G4Material *> mats_;
38  std::map<DDSolid, G4VSolid *> sols_;
39  std::map<DDLogicalPart, G4LogicalVolume *> logs_;
40 
44  bool check_;
45 };
46 
47 #endif
DDG4Builder::getInt
int getInt(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:188
DDG4Builder::logs_
std::map< DDLogicalPart, G4LogicalVolume * > logs_
Definition: DDG4Builder.h:39
DDG4Builder::getDouble
double getDouble(const std::string &s, const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:210
DDG4Builder::convertLV
G4LogicalVolume * convertLV(const DDLogicalPart &dLogical)
Definition: DDG4Builder.cc:32
DDG4DispContainer
std::vector< DDG4Dispatchable * > DDG4DispContainer
Definition: DDG4DispContainer.h:8
DDMapper< G4LogicalVolume *, DDLogicalPart >
DDG4Builder::theVectorOfDDG4Dispatchables_
DDG4DispContainer * theVectorOfDDG4Dispatchables_
Definition: DDG4Builder.h:43
DDG4Builder::map_
G4LogicalVolumeToDDLogicalPartMap & map_
Definition: DDG4Builder.h:42
G4LogicalVolumeToDDLogicalPartMap.h
DDG4Builder::compactView_
const DDCompactView * compactView_
Definition: DDG4Builder.h:41
DDG4Builder::~DDG4Builder
~DDG4Builder()
Definition: DDG4Builder.cc:30
alignCSCRings.s
s
Definition: alignCSCRings.py:92
RPCNoise_example.check
check
Definition: RPCNoise_example.py:71
DDMaterial
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
DDG4Builder::BuildGeometry
G4LogicalVolume * BuildGeometry(SensitiveDetectorCatalog &)
Definition: DDG4Builder.cc:97
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
DDG4Builder::sols_
std::map< DDSolid, G4VSolid * > sols_
Definition: DDG4Builder.h:38
DDG4Builder::check_
bool check_
Definition: DDG4Builder.h:44
DDSolid.h
SensitiveDetectorCatalog
Definition: SensitiveDetectorCatalog.h:10
DDG4Builder::DDG4Builder
DDG4Builder(const DDCompactView *, G4LogicalVolumeToDDLogicalPartMap &, bool check)
Definition: DDG4Builder.cc:25
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDG4Builder::solidConverter_
DDG4SolidConverter * solidConverter_
Definition: DDG4Builder.h:36
DDG4Builder::convertMaterial
G4Material * convertMaterial(const DDMaterial &dMaterial)
Definition: DDG4Builder.cc:59
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
DDMaterial.h
DDG4Builder::mats_
std::map< DDMaterial, G4Material * > mats_
Definition: DDG4Builder.h:37
DDLogicalPart.h
DDG4Builder::convertSolid
G4VSolid * convertSolid(const DDSolid &dSolid)
Definition: DDG4Builder.cc:50
DDG4Builder
Definition: DDG4Builder.h:23
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDG4DispContainer.h
DDG4SolidConverter
Definition: DDG4SolidConverter.h:14