#include <EmcG4Geo.h>
Inheritance diagram for EmcG4Geo:
Public Member Functions | |
EmcG4Geo () | |
Constructor. | |
~EmcG4Geo () | |
Destructor. | |
void | InitFromGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of G4Geo. | |
void | SetDefaultVis () |
Set default visual attributes;. | |
void | ReadGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of G4Geo. | |
int | IsInitialized () |
If the G4 geometry of this subdetctor is initialized;. | |
G4LogicalVolume * | GetLogicalVolume (const std::string &vn) |
Get a logical volume by name;. | |
G4LogicalVolume * | GetTopVolume () |
Get the top(world) volume;. | |
Static Public Member Functions | |
static EmcG4Geo * | Instance () |
Get a pointer to the single instance of EmcG4Geo. | |
Protected Attributes | |
int | m_G4GeoInit |
G4LogicalVolume * | m_TopVolume |
Static Private Attributes | |
static EmcG4Geo * | m_pEmcG4Geo = 0L |
Definition at line 18 of file EmcG4Geo.h.
EmcG4Geo::EmcG4Geo | ( | ) |
Constructor.
Definition at line 22 of file EmcG4Geo.cxx.
References InitFromGdml(), and deljobs::string.
00023 { 00024 string GdmlManagementPath = getenv("GDMLMANAGEMENTROOT"); 00025 if (GdmlManagementPath == "") cout << "EmcG4Geo::GdmlManagementPath not set!" << endl; 00026 string GdmlFile = GdmlManagementPath + string("/dat/Emc.gdml"); 00027 cout << "Construct Emc from GdmlFile " << GdmlFile << endl; 00028 InitFromGdml( GdmlFile.c_str(), "Emc" ); 00029 }
EmcG4Geo::~EmcG4Geo | ( | ) |
G4LogicalVolume * SubDetectorG4Geo::GetLogicalVolume | ( | const std::string & | vn | ) | [inherited] |
Get a logical volume by name;.
Definition at line 40 of file SubDetectorG4Geo.cxx.
Referenced by TofG4Geo::InitFromGdml(), MucG4Geo::InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), InitFromGdml(), and BesG4Geo::InitFromGdml().
00041 { 00042 G4LogicalVolume *lv = (G4LogicalVolume*)GDMLProcessor::GetInstance()->GetLogicalVolume(vn); 00043 //if (!lv) std::cout << "Logical Volume " << vn << " not found " << std::endl; 00044 return lv; 00045 }
G4LogicalVolume* SubDetectorG4Geo::GetTopVolume | ( | ) | [inline, inherited] |
Get the top(world) volume;.
Definition at line 50 of file SubDetectorG4Geo.h.
References SubDetectorG4Geo::m_TopVolume.
Referenced by BesTofConstruction::Construct(), BesMucConstruction::Construct(), BesMdcConstruction::Construct(), BesEmcConstruction::Construct(), ExtBesTofConstruction::Construct(), ExtBesMucConstruction::Construct(), ExtBesMdcConstruction::Construct(), ExtBesEmcConstruction::Construct(), ExtBesTofConstruction::ConstructETF(), TRungeFitter::setBesFromGdml(), and KalFitAlg::setBesFromGdml().
00050 { return m_TopVolume; }
void EmcG4Geo::InitFromGdml | ( | const char * | gdmlFile, | |
const char * | setupName | |||
) |
Initialize the instance of G4Geo.
Definition at line 35 of file EmcG4Geo.cxx.
References SubDetectorG4Geo::GetLogicalVolume(), SubDetectorG4Geo::m_G4GeoInit, SubDetectorG4Geo::m_TopVolume, SubDetectorG4Geo::ReadGdml(), and SetDefaultVis().
Referenced by EmcG4Geo().
00036 { 00037 ReadGdml(gdmlFile, setupName); 00038 m_TopVolume = GetLogicalVolume("logicalEMC"); 00039 if (!m_TopVolume) cout << "EmcG4Geo::InitFromGdml, m_TopVolume not found" << endl; 00040 else cout << "Emc TopVolume name " << m_TopVolume->GetName() << endl; 00041 SetDefaultVis(); 00042 00043 m_G4GeoInit = 1; 00044 }
EmcG4Geo * EmcG4Geo::Instance | ( | ) | [static] |
Get a pointer to the single instance of EmcG4Geo.
Definition at line 52 of file EmcG4Geo.cxx.
References m_pEmcG4Geo.
Referenced by BesEmcConstruction::Construct(), and ExtBesEmcConstruction::Construct().
00053 { 00054 //Get a pointer to the single instance of EmcG4Geo 00055 if(!m_pEmcG4Geo) { 00056 m_pEmcG4Geo = new EmcG4Geo; 00057 //cout<<"in EmcG4Geo:: no EmcG4Geo now."<<m_pEmcG4Geo<<endl; 00058 } 00059 //cout<<"in EmcG4Geo:: get EmcG4Geo successfully."<<endl; 00060 return m_pEmcG4Geo; 00061 }
int SubDetectorG4Geo::IsInitialized | ( | ) | [inline, inherited] |
If the G4 geometry of this subdetctor is initialized;.
Definition at line 44 of file SubDetectorG4Geo.h.
References SubDetectorG4Geo::m_G4GeoInit.
00044 { return m_G4GeoInit; }
void SubDetectorG4Geo::ReadGdml | ( | const char * | gdmlFile, | |
const char * | setupName | |||
) | [inherited] |
Initialize the instance of G4Geo.
Definition at line 28 of file SubDetectorG4Geo.cxx.
References SubDetectorG4Geo::m_config, and SubDetectorG4Geo::m_sxp.
Referenced by TofG4Geo::InitFromGdml(), MucG4Geo::InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), InitFromGdml(), and BesG4Geo::InitFromGdml().
00029 { 00030 m_config.SetURI( gdmlFile ); 00031 m_config.SetSetupName( setupName ); 00032 m_config.SetType ( "G4" ); 00033 00034 m_sxp.Configure( &m_config ); 00035 m_sxp.Initialize(); 00036 m_sxp.Run(); 00037 }
void EmcG4Geo::SetDefaultVis | ( | ) |
Set default visual attributes;.
Definition at line 47 of file EmcG4Geo.cxx.
Referenced by InitFromGdml().
int SubDetectorG4Geo::m_G4GeoInit [protected, inherited] |
Definition at line 59 of file SubDetectorG4Geo.h.
Referenced by TofG4Geo::InitFromGdml(), MucG4Geo::InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), InitFromGdml(), BesG4Geo::InitFromGdml(), and SubDetectorG4Geo::IsInitialized().
EmcG4Geo * EmcG4Geo::m_pEmcG4Geo = 0L [static, private] |
G4LogicalVolume* SubDetectorG4Geo::m_TopVolume [protected, inherited] |
Definition at line 61 of file SubDetectorG4Geo.h.
Referenced by SubDetectorG4Geo::GetTopVolume(), TofG4Geo::InitFromGdml(), MucG4Geo::InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), InitFromGdml(), and BesG4Geo::InitFromGdml().