52 parser.
Read(
"Par02FullDetector.gdml" );
53 G4cout <<
"Geometry loaded from file .......Par02FullDetector.gdml " <<
G4endl;
59 for ( G4GDMLAuxMapType::const_iterator iter = aAuxMap->begin();
60 iter != aAuxMap->end(); ++iter ) {
61 for ( G4GDMLAuxListType::const_iterator vit = (*iter).second.begin();
62 vit != (*iter).second.end(); ++vit ) {
63 if ( (*vit).type ==
"FastSimModel" ) {
65 if ( ( myvol->
GetName() ).find(
"Tracker" ) != std::string::npos ) {
69 }
else if ( ( myvol->
GetName() ).find(
"HCal" ) != std::string::npos ) {
71 fHCalList.back()->AddRootLogicalVolume( myvol );
73 }
else if ( ( myvol->
GetName() ).find(
"ECal" ) != std::string::npos ) {
75 fECalList.back()->AddRootLogicalVolume( myvol );
77 }
else if ( ( myvol->
GetName() ).find(
"Muon" ) != std::string::npos ) {
79 fMuonList.back()->AddRootLogicalVolume( myvol );
81 G4cout << G4endl <<
"NOT A KNOWN DETECTOR !!!" <<
G4endl;
89 fTrackerList[ iterTracker ]->GetProductionCuts()->SetProductionCut
90 ( 1.0* ( ( *
fTrackerList[ iterTracker ]->GetRootLogicalVolumeIterator() )->
91 GetMaterial()->GetRadlen() ) );
97 fECalList[ iterECal ]->GetProductionCuts()->SetProductionCut
98 ( 0.5* ( ( *
fECalList[ iterECal ]->GetRootLogicalVolumeIterator() )->
99 GetMaterial()->GetRadlen() ) );
100 fECalList[ iterECal ]->GetProductionCuts()->
105 fHCalList[ iterHCal ]->GetProductionCuts()->SetProductionCut(
106 0.5* ( ( *
fHCalList[iterHCal]->GetRootLogicalVolumeIterator() )->
107 GetMaterial()->GetRadlen() ) );
108 fHCalList[ iterHCal ]->GetProductionCuts()->
G4VPhysicalVolume * GetWorldVolume(const G4String &setupName="Default") const
CLHEP::Hep3Vector G4ThreeVector
std::vector< G4Region * > fTrackerList
A vector of the tracking detector regions.
const G4GDMLAuxMapType * GetAuxMap() const
G4GlobalMagFieldMessenger * fMagFieldMessenger
Messenger of the magnetic field.
Definition of the Par02DetectorConstruction class.
virtual ~Par02DetectorConstruction()
void SetVerboseLevel(G4int verboseLevel)
void Read(const G4String &filename, G4bool Validate=true)
virtual G4VPhysicalVolume * Construct()
static constexpr double m
virtual void ConstructSDandField()
A method invoked by G4RunManager::Initialize() to construct thread local objects. ...
CommandLineParser * parser(0)
std::map< G4LogicalVolume *, G4GDMLAuxListType > G4GDMLAuxMapType
std::vector< G4Region * > fMuonList
A vector of the muon detector regions.
std::vector< G4Region * > fHCalList
A vector of the the hadronic calorimeter regions.
G4GLOB_DLL std::ostream G4cout
Par02DetectorConstruction()
A default constructor.
std::vector< G4Region * > fECalList
A vector of the the electromagnetic calorimeter regions.
const G4String & GetName() const