MucG4Geo Class Reference

#include <MucG4Geo.h>

Inheritance diagram for MucG4Geo:

SubDetectorG4Geo List of all members.

Public Member Functions

 MucG4Geo ()
 Constructor.
 ~MucG4Geo ()
 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 MucG4GeoInstance ()
 Get a pointer to the single instance of MucG4Geo.

Protected Attributes

int m_G4GeoInit
G4LogicalVolume * m_TopVolume

Static Private Attributes

static MucG4Geom_pMucG4Geo = 0L

Detailed Description

Class MucGeo contains all of the objects necessary to describe the muc geometry.

Author:
Zhengyun You {mailto:youzy@hep.pku.cn}

Definition at line 21 of file MucG4Geo.h.


Constructor & Destructor Documentation

MucG4Geo::MucG4Geo (  ) 

Constructor.

Definition at line 24 of file MucG4Geo.cxx.

References InitFromGdml(), and deljobs::string.

00025 { 
00026   string GdmlManagementPath = getenv("GDMLMANAGEMENTROOT");
00027   if (GdmlManagementPath == "") cout << "MucG4Geo::GdmlManagementPath not set" << endl;
00028   string GdmlFile = GdmlManagementPath + string("/dat/Muc.gdml");
00029   cout << "Construct Muc from GdmlFile " << GdmlFile << endl;
00030   InitFromGdml( GdmlFile.c_str(), "Muc" );
00031 }

MucG4Geo::~MucG4Geo (  ) 

Destructor.

Definition at line 33 of file MucG4Geo.cxx.

00034 { }


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(), InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), EmcG4Geo::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 MucG4Geo::InitFromGdml ( const char *  gdmlFile,
const char *  setupName 
)

Initialize the instance of G4Geo.

Definition at line 37 of file MucG4Geo.cxx.

References SubDetectorG4Geo::GetLogicalVolume(), SubDetectorG4Geo::m_G4GeoInit, SubDetectorG4Geo::m_TopVolume, SubDetectorG4Geo::ReadGdml(), and SetDefaultVis().

Referenced by MucG4Geo().

00038 {
00039   ReadGdml(gdmlFile, setupName);
00040   m_TopVolume = GetLogicalVolume("logicalMuc");
00041   if (!m_TopVolume) cout << "MucG4Geo::InitFromGdml, m_TopVolume not found" << endl;
00042   else cout << "Muc TopVolume name " << m_TopVolume->GetName() << endl;
00043   SetDefaultVis();
00044 
00045   m_G4GeoInit = 1;  
00046 }

MucG4Geo * MucG4Geo::Instance (  )  [static]

Get a pointer to the single instance of MucG4Geo.

Definition at line 57 of file MucG4Geo.cxx.

References m_pMucG4Geo.

Referenced by MucGeomSvc::Fill().

00058 {
00059   //Get a pointer to the single instance of MucG4Geo
00060   if(!m_pMucG4Geo){
00061     m_pMucG4Geo = new MucG4Geo;
00062     //cout<<"in MucG4Geo:: no MucG4Geo now."<<m_pMucG4Geo<<endl;
00063 
00064   }
00065   //cout<<"in MucG4Geo:: get MucG4Geo successfully."<<endl;
00066   return m_pMucG4Geo;
00067 }

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(), InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), EmcG4Geo::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 MucG4Geo::SetDefaultVis (  ) 

Set default visual attributes;.

Definition at line 49 of file MucG4Geo.cxx.

Referenced by InitFromGdml().

00050 {
00051   //std::cout << "begin of set defaultvis" << std::endl;
00052   
00053   //std::cout << "end of set defaultvis" << std::endl;
00054 }


Member Data Documentation

int SubDetectorG4Geo::m_G4GeoInit [protected, inherited]

Definition at line 59 of file SubDetectorG4Geo.h.

Referenced by TofG4Geo::InitFromGdml(), InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), EmcG4Geo::InitFromGdml(), BesG4Geo::InitFromGdml(), and SubDetectorG4Geo::IsInitialized().

MucG4Geo * MucG4Geo::m_pMucG4Geo = 0L [static, private]

Definition at line 43 of file MucG4Geo.h.

Referenced by Instance().

G4LogicalVolume* SubDetectorG4Geo::m_TopVolume [protected, inherited]

Definition at line 61 of file SubDetectorG4Geo.h.

Referenced by SubDetectorG4Geo::GetTopVolume(), TofG4Geo::InitFromGdml(), InitFromGdml(), MRPCG4Geo::InitFromGdml(), MdcG4Geo::InitFromGdml(), EmcG4Geo::InitFromGdml(), and BesG4Geo::InitFromGdml().


Generated on Tue Nov 29 23:20:27 2016 for BOSS_7.0.2 by  doxygen 1.4.7