EmcG4Geo Class Reference

#include <EmcG4Geo.h>

Inheritance diagram for EmcG4Geo:

SubDetectorG4Geo List of all members.

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 EmcG4GeoInstance ()
 Get a pointer to the single instance of EmcG4Geo.

Protected Attributes

int m_G4GeoInit
G4LogicalVolume * m_TopVolume

Static Private Attributes

static EmcG4Geom_pEmcG4Geo = 0L

Detailed Description

Class EmcGeo contains all of the objects necessary to describe the Emc geometry.

Definition at line 18 of file EmcG4Geo.h.


Constructor & Destructor Documentation

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 (  ) 

Destructor.

Definition at line 31 of file EmcG4Geo.cxx.

00032 { }


Member Function Documentation

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().

00048 {
00049 }


Member Data Documentation

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]

Definition at line 40 of file EmcG4Geo.h.

Referenced by Instance().

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().


Generated on Tue Nov 29 23:18:39 2016 for BOSS_7.0.2 by  doxygen 1.4.7