#include <G4tgbDetectorBuilder.hh>
Public Member Functions | |
G4tgbDetectorBuilder () | |
virtual | ~G4tgbDetectorBuilder () |
virtual const G4tgrVolume * | ReadDetector () |
virtual G4VPhysicalVolume * | ConstructDetector (const G4tgrVolume *tgrVoltop) |
Definition at line 57 of file G4tgbDetectorBuilder.hh.
G4tgbDetectorBuilder::G4tgbDetectorBuilder | ( | ) |
G4tgbDetectorBuilder::~G4tgbDetectorBuilder | ( | ) | [virtual] |
G4VPhysicalVolume * G4tgbDetectorBuilder::ConstructDetector | ( | const G4tgrVolume * | tgrVoltop | ) | [virtual] |
Definition at line 76 of file G4tgbDetectorBuilder.cc.
References G4tgbVolume::ConstructG4Volumes(), G4tgbVolumeMgr::CopyVolumes(), G4tgbVolumeMgr::FindVolume(), G4cout, G4endl, G4tgbVolumeMgr::GetInstance(), G4VPhysicalVolume::GetName(), G4tgrVolume::GetName(), G4tgbVolumeMgr::GetTopPhysVol(), and G4tgrMessenger::GetVerboseLevel().
Referenced by G4tgbVolumeMgr::ReadAndConstructDetector().
00077 { 00078 //---------- copy list of G4tgrVolume's to list of G4tgbVolume's 00079 // (just a trick to make all GEANT4 volume building in this class) 00080 G4tgbVolumeMgr* tgbVolmgr = G4tgbVolumeMgr::GetInstance(); 00081 tgbVolmgr->CopyVolumes(); 00082 //---------- find corresponding volume in list of G4tgbVolume's 00083 G4tgbVolume* tgbVoltop = tgbVolmgr->FindVolume( tgrVoltop->GetName() ); 00084 00085 //---------- ConstructG4Volumes of top G4tgbVolume 00086 // (it will recursively build the whole tree) 00087 tgbVoltop->ConstructG4Volumes( 0, (const G4LogicalVolume*)0 ); 00088 00089 G4VPhysicalVolume* physvol = tgbVolmgr->GetTopPhysVol(); 00090 00091 #ifdef G4VERBOSE 00092 if( G4tgrMessenger::GetVerboseLevel() >= 1 ) 00093 { 00094 G4cout << " G4tgbDetectorConstruction::ConstructDetector() - Volume: " 00095 << physvol->GetName() << G4endl; 00096 } 00097 #endif 00098 00099 return physvol; 00100 00101 }
const G4tgrVolume * G4tgbDetectorBuilder::ReadDetector | ( | ) | [virtual] |
Definition at line 63 of file G4tgbDetectorBuilder.cc.
References G4tgrVolumeMgr::GetInstance(), G4tgrFileReader::GetInstance(), G4tgrVolumeMgr::GetTopVolume(), and G4tgrFileReader::ReadFiles().
Referenced by G4tgbVolumeMgr::ReadAndConstructDetector().
00064 { 00065 //------------------- construct g4 geometry 00066 //---------- find top G4tgrVolume 00067 G4tgrFileReader::GetInstance()->ReadFiles(); 00068 G4tgrVolumeMgr* tgrVolmgr = G4tgrVolumeMgr::GetInstance(); 00069 const G4tgrVolume* tgrVoltop = tgrVolmgr->GetTopVolume(); 00070 return tgrVoltop; 00071 }