CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
G4Svc Class Reference

#include <G4Svc.h>

+ Inheritance diagram for G4Svc:

Public Member Functions

virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)
 
G4RunManager * runMgr ()
 
void SetUserInitialization (G4VUserDetectorConstruction *userInit)
 
void SetUserInitialization (G4VUserPhysicsList *physInit)
 
void SetUserAction (G4UserRunAction *)
 
void SetUserAction (G4UserEventAction *)
 
void SetUserAction (G4VUserPrimaryGeneratorAction *)
 
void SetUserAction (G4UserStackingAction *)
 
void SetUserAction (G4UserTrackingAction *)
 
void SetUserAction (G4UserSteppingAction *)
 
const G4Event * GetCurrentEvent () const
 
const G4Run * GetCurrentRun () const
 
G4UImanager * uiMgr ()
 
void StartUISession ()
 
double GetBeamPosX ()
 
double GetBeamPosY ()
 
double GetBeamPosZ ()
 
double GetBeamSizeX ()
 
double GetBeamSizeY ()
 
double GetBeamSizeZ ()
 
double GetBeamShiftPx ()
 
double GetBeamShiftPy ()
 
double GetBeamShiftPz ()
 
double GetBeamStartTime ()
 
double GetBeamDeltaTime ()
 
double GetNBunch ()
 
double GetBunchTimeSigma ()
 
double GetBeamTime ()
 
void SetBeamTime (double value)
 
std::string GetMdcNoiseFile ()
 
double GetBeamAngle ()
 
bool GetBoostLab ()
 
bool GetSetBeamShift ()
 
int GetMdcDataInput ()
 
int GetMdcDedxFlag ()
 
double GetCgemStripEff ()
 
NTuple::Tuple * GetTupleMdc ()
 
void SetTupleMdc (NTuple::Tuple *tuple)
 
std::string GetCgemNoiseFile ()
 
int GetCgemDataInput ()
 
int GetCgemDedxFlag ()
 
NTuple::Tuple * GetTupleCgem ()
 
void SetTupleCgem (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleTof1 ()
 
void SetTupleTof1 (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleTof2 ()
 
void SetTupleTof2 (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleTof3 ()
 
void SetTupleTof3 (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleEmc1 ()
 
void SetTupleEmc1 (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleEmc2 ()
 
void SetTupleEmc2 (NTuple::Tuple *tuple)
 
NTuple::Tuple * GetTupleMuc ()
 
void SetTupleMuc (NTuple::Tuple *tuple)
 
bool MdcRootFlag ()
 
bool CgemRootFlag ()
 
bool TofRootFlag ()
 
bool EmcRootFlag ()
 
bool MucRootFlag ()
 
bool TofSaturationFlag ()
 
bool EmcLightOutput ()
 
double EmcIncoherentNoise ()
 
double EmcCoherentNoise ()
 
double EmcNoiseMean ()
 
double EmcNoiseSigma ()
 
double EmcNoiseThreshold ()
 
int EmcNoiseLevel ()
 
int EmcTime ()
 
int MucNoiseMode ()
 
int LogLevel ()
 
void G4Init ()
 
void RunInitialize ()
 
void RunTerminate ()
 
void SimulateEvents (int)
 
- Public Member Functions inherited from IG4Svc

Protected Member Functions

 G4Svc (const std::string &name, ISvcLocator *svc)
 
virtual ~G4Svc ()
 

Friends

class SvcFactory< G4Svc >
 

Additional Inherited Members

- Static Public Member Functions inherited from IG4Svc
static const InterfaceID & interfaceID ()
 Retrieve interface ID.
 

Detailed Description

Definition at line 31 of file G4Svc.h.

Constructor & Destructor Documentation

◆ G4Svc()

G4Svc::G4Svc ( const std::string & name,
ISvcLocator * svc )
protected

Definition at line 37 of file G4Svc.cpp.

37 :
38 Service( name, svc ), p_runMgr(0), p_uiMgr(0), p_visMgr(0),
39 _init(false), m_beamTime(0)
40{
41 //declareProperty( "PhysicsList", m_PhysicsList="none");
42 //declareProperty( "DefaultPhysicsCut", m_PhysicsCut=-1.);
43 declareProperty( "Visualize", m_vis=false);
44 //declareProperty( "VisType", m_visType="VRML1FILE");
45
46 declareProperty( "RunVerbosity", m_runVerb=0);
47 declareProperty( "EventVerbosity", m_eventVerb=0);
48 declareProperty( "TrackingVerbosity", m_trackVerb=0);
49
50 declareProperty( "FADSmacro",m_macroName="none" );
51 declareProperty( "MdcNoiseFile", m_mdcNoiseFile="none");
52 declareProperty( "CgemNoiseFile", m_cgemNoiseFile="none");
53
54 //declareProperty( "SaveHits", m_saveHits=true);
55 //declareProperty( "SaveTracks", m_saveTracks=false);
56 declareProperty( "LogLevel", m_logLevel=6);
57
58 declareProperty( "InteractiveG4" , m_interactiveG4=false);
59
60 declareProperty("BesGenAction", m_besGenAction=false);
61
62 declareProperty("BeamPosX",m_beamPosX=0);
63 declareProperty("BeamPosY",m_beamPosY=0);
64 declareProperty("BeamPosZ",m_beamPosZ=0);
65
66 declareProperty("BeamSizeX", m_beamSizeX=10);
67 declareProperty("BeamSizeY", m_beamSizeY=20);
68 declareProperty("BeamSizeZ", m_beamSizeZ=30);
69
70 declareProperty("BeamStartTime",m_beamStartTime=0);
71 declareProperty("BeamDeltaTime",m_beamDeltaTime=0);
72 declareProperty("NBunch",m_nBunch=1);
73
74 declareProperty("BunchTimeSigma",m_bunchTimeSigma=0);
75
76 declareProperty("MdcDataInput",m_mdcDataInput=1);
77 declareProperty("MdcDedxFlag",m_mdcDedxFlag=1);
78
79 declareProperty("CgemDataInput",m_cgemDataInput=1);
80 declareProperty("CgemDedxFlag",m_cgemDedxFlag=1);
81 declareProperty("CgemStripEff",m_cgemStripEff=1.0);
82
83 declareProperty("BoostLab",m_boostLab=false);
84 declareProperty("BeamAngle",m_beamAngle=11);
85
86 declareProperty("SetBeamShift",m_setBeamShift= false);
87 declareProperty("BeamShiftPx" ,m_beamShiftPx=39.45); // in unit MeV
88 declareProperty("BeamShiftPy" ,m_beamShiftPy=-0.98);
89 declareProperty("BeamShiftPz" ,m_beamShiftPz=3.70);
90
91 declareProperty("CgemRootFlag",m_cgemRootFlag=false);
92 declareProperty("MdcRootFlag",m_mdcRootFlag=false);
93 declareProperty("TofRootFlag",m_tofRootFlag=false);
94 declareProperty("EmcRootFlag",m_emcRootFlag=false);
95 declareProperty("MucRootFlag",m_mucRootFlag=false);
96
97 // Switch for ADC Saturation in Bhabha events
98 declareProperty("TofSaturationFlag",m_tofSaturationFlag=true);
99
100 declareProperty("EmcLightOutput",m_emcLightOutput=true);
101 declareProperty("EmcIncoherentNoise",m_emcIncoherentNoise=0.2);
102 declareProperty("EmcCoherentNoise",m_emcCoherentNoise=0.);
103 declareProperty("EmcNoiseMean",m_emcNoiseMean=1.16);
104 declareProperty("EmcNoiseSigma",m_emcNoiseSigma=0.23);
105 declareProperty("EmcNoiseThreshold",m_emcNoiseThreshold=0.5);
106 declareProperty("EmcNoiseLevel",m_emcNoiseLevel=3);
107 declareProperty("EmcTime",m_emcTime=20);
108
109 declareProperty("MucNoiseMode", m_mucNoiseMode=1);
110}

◆ ~G4Svc()

G4Svc::~G4Svc ( )
protectedvirtual

Definition at line 114 of file G4Svc.cpp.

114 {
115// std::cout<<"G4Svc::~G4Svc()"<<std::endl;
116// if (p_runMgr != 0) {
117// delete p_runMgr;
118// }
119//#ifdef G4VIS_USE
120// if (p_visMgr != 0) {
121// delete p_visMgr;
122// }
123//#endif
124
125}

Member Function Documentation

◆ CgemRootFlag()

bool G4Svc::CgemRootFlag ( )
inline

Definition at line 126 of file G4Svc.h.

126{return m_cgemRootFlag;}

Referenced by BesSim::initialize().

◆ EmcCoherentNoise()

double G4Svc::EmcCoherentNoise ( )
inline

Definition at line 135 of file G4Svc.h.

135{return m_emcCoherentNoise;}

Referenced by BesEmcDigitizer::Digitize().

◆ EmcIncoherentNoise()

double G4Svc::EmcIncoherentNoise ( )
inline

Definition at line 134 of file G4Svc.h.

134{return m_emcIncoherentNoise;}

Referenced by BesEmcDigitizer::AddNoise5x5(), BesEmcDigitizer::AddNoiseAll(), and BesEmcDigitizer::Digitize().

◆ EmcLightOutput()

bool G4Svc::EmcLightOutput ( )
inline

Definition at line 133 of file G4Svc.h.

133{return m_emcLightOutput;}

Referenced by BesEmcDigitizer::AddNoise5x5(), BesEmcDigitizer::AddNoiseAll(), and BesEmcDigitizer::Digitize().

◆ EmcNoiseLevel()

int G4Svc::EmcNoiseLevel ( )
inline

Definition at line 139 of file G4Svc.h.

139{return m_emcNoiseLevel;}

Referenced by BesEmcDigitizer::Digitize().

◆ EmcNoiseMean()

double G4Svc::EmcNoiseMean ( )
inline

Definition at line 136 of file G4Svc.h.

136{return m_emcNoiseMean;}

Referenced by BesEmcDigitizer::AddNoiseAll().

◆ EmcNoiseSigma()

double G4Svc::EmcNoiseSigma ( )
inline

Definition at line 137 of file G4Svc.h.

137{return m_emcNoiseSigma;}

Referenced by BesEmcDigitizer::AddNoiseAll().

◆ EmcNoiseThreshold()

double G4Svc::EmcNoiseThreshold ( )
inline

Definition at line 138 of file G4Svc.h.

138{return m_emcNoiseThreshold;}

Referenced by BesEmcDigitizer::AddNoise5x5(), and BesEmcDigitizer::AddNoiseAll().

◆ EmcRootFlag()

bool G4Svc::EmcRootFlag ( )
inline

Definition at line 128 of file G4Svc.h.

128{return m_emcRootFlag;}

Referenced by BesEmcDigitizer::BesEmcDigitizer(), BesEmcDigitizer::Digitize(), and BesSim::initialize().

◆ EmcTime()

int G4Svc::EmcTime ( )
inline

Definition at line 140 of file G4Svc.h.

140{return m_emcTime;}

Referenced by BesEmcDigitizer::AddNoise5x5(), BesEmcDigitizer::AddNoiseAll(), and BesEmcDigitizer::Digitize().

◆ finalize()

StatusCode G4Svc::finalize ( )
virtual

Definition at line 172 of file G4Svc.cpp.

172 {
173
174 MsgStream log( msgSvc(), name() );
175 StatusCode status = Service::finalize();
176
177 if ( status.isSuccess() )
178 log << MSG::INFO << "Service finalised successfully" << endreq;
179
180 return status;
181}
IMessageSvc * msgSvc()

◆ G4Init()

void G4Svc::G4Init ( )
virtual

Implements IG4Svc.

Definition at line 301 of file G4Svc.cpp.

301 {
302
303 MsgStream log( msgSvc(), name() );
304
305 log << MSG::VERBOSE << "Attempting G4 Initialization" << endreq;
306
307 if (!_init) {
308 // Tracking
309 //if (m_saveTracks) {
310 // log << MSG::INFO << "turning tracking on" << std::endl;
311 // uiMgr()->ApplyCommand("/tracking/storeTrajectory 1");
312 //}
313
314 // Visualization manager
315#ifdef G4VIS_USE
316 if (m_vis) {
317 log << MSG::INFO << "Initializing G4SvcVisManager" << endreq;
318 //p_visMgr = new G4SvcVisManager;
319 p_visMgr = new G4VisExecutive;
320 p_visMgr->Initialize();
321 }
322#else
323 m_vis = false;
324#endif
325
326 if (!m_vis) {
327 log << MSG::INFO << "Not including Visualization" << endreq;
328 }
329
330 // Verbosity
331 log << MSG::DEBUG << "Setting verbosity levels - "
332 << "run: " << m_runVerb << " event: " << m_eventVerb
333 << " track: " << m_trackVerb << endreq;
334
335 {
336 std::ostrstream ost;
337 ost << "/run/verbose " << m_runVerb << std::ends;
338 uiMgr()->ApplyCommand(ost.str());
339 }
340 {
341 std::ostrstream ost;
342 ost << "/event/verbose " << m_eventVerb << std::ends;
343 uiMgr()->ApplyCommand(ost.str());
344 }
345 {
346 std::ostrstream ost;
347 ost << "/tracking/verbose " << m_trackVerb << std::ends;
348 uiMgr()->ApplyCommand(ost.str());
349 }
350
351 log << MSG::DEBUG << "Initializing G4 kernel" << endreq;
352 p_runMgr->Initialize();
353 _init = true;
354
355 if (m_macroName!="none"){
356 log << MSG::INFO << "Running G4 macro "<<m_macroName<< endreq;
357 uiMgr()->ApplyCommand("/control/execute "+m_macroName);
358 }
359 if (m_interactiveG4) {
361 }
362
363 }else {
364 log << MSG::ERROR << "G4 kernel already initialized" << endreq;
365 }
366}
G4UImanager * uiMgr()
Definition G4Svc.cpp:219
void StartUISession()
Definition G4Svc.cpp:288

Referenced by BesSim::beginRun().

◆ GetBeamAngle()

double G4Svc::GetBeamAngle ( )
inline

Definition at line 89 of file G4Svc.h.

89{return m_beamAngle;}

◆ GetBeamDeltaTime()

double G4Svc::GetBeamDeltaTime ( )
inline

Definition at line 81 of file G4Svc.h.

81{return m_beamDeltaTime;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamPosX()

double G4Svc::GetBeamPosX ( )
inline

Definition at line 68 of file G4Svc.h.

68{return m_beamPosX;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamPosY()

double G4Svc::GetBeamPosY ( )
inline

Definition at line 69 of file G4Svc.h.

69{return m_beamPosY;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamPosZ()

double G4Svc::GetBeamPosZ ( )
inline

Definition at line 70 of file G4Svc.h.

70{return m_beamPosZ;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamShiftPx()

double G4Svc::GetBeamShiftPx ( )
inline

Definition at line 76 of file G4Svc.h.

76{return m_beamShiftPx;}

Referenced by G4HepMCInterface::Boost().

◆ GetBeamShiftPy()

double G4Svc::GetBeamShiftPy ( )
inline

Definition at line 77 of file G4Svc.h.

77{return m_beamShiftPy;}

Referenced by G4HepMCInterface::Boost().

◆ GetBeamShiftPz()

double G4Svc::GetBeamShiftPz ( )
inline

Definition at line 78 of file G4Svc.h.

78{return m_beamShiftPz;}

Referenced by G4HepMCInterface::Boost().

◆ GetBeamSizeX()

double G4Svc::GetBeamSizeX ( )
inline

Definition at line 72 of file G4Svc.h.

72{return m_beamSizeX;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamSizeY()

double G4Svc::GetBeamSizeY ( )
inline

Definition at line 73 of file G4Svc.h.

73{return m_beamSizeY;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamSizeZ()

double G4Svc::GetBeamSizeZ ( )
inline

Definition at line 74 of file G4Svc.h.

74{return m_beamSizeZ;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamStartTime()

double G4Svc::GetBeamStartTime ( )
inline

Definition at line 80 of file G4Svc.h.

80{return m_beamStartTime;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBeamTime()

double G4Svc::GetBeamTime ( )
inline

◆ GetBoostLab()

bool G4Svc::GetBoostLab ( )
inline

Definition at line 90 of file G4Svc.h.

90{return m_boostLab;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetBunchTimeSigma()

double G4Svc::GetBunchTimeSigma ( )
inline

Definition at line 83 of file G4Svc.h.

83{return m_bunchTimeSigma;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetCgemDataInput()

int G4Svc::GetCgemDataInput ( )
inline

Definition at line 101 of file G4Svc.h.

101{ return m_cgemDataInput; }

◆ GetCgemDedxFlag()

int G4Svc::GetCgemDedxFlag ( )
inline

Definition at line 102 of file G4Svc.h.

102{return m_cgemDedxFlag;}

Referenced by BesRawDataWriter::SaveCgemDigits().

◆ GetCgemNoiseFile()

std::string G4Svc::GetCgemNoiseFile ( )
inline

Definition at line 100 of file G4Svc.h.

100{return m_cgemNoiseFile;}

◆ GetCgemStripEff()

double G4Svc::GetCgemStripEff ( )
inline

Definition at line 95 of file G4Svc.h.

95{return m_cgemStripEff;}

Referenced by BesRawDataWriter::SaveCgemDigits().

◆ GetCurrentEvent()

const G4Event * G4Svc::GetCurrentEvent ( ) const
virtual

Implements IG4Svc.

Definition at line 198 of file G4Svc.cpp.

198 {
199
200 const G4Event *evt = p_runMgr->GetCurrentEvent();
201
202 if (evt == 0) {
203 MsgStream log( msgSvc(), name() );
204 log << MSG::ERROR << "Could not get current G4Event" << endreq;
205 }
206
207 return ( evt );
208
209}

◆ GetCurrentRun()

const G4Run * G4Svc::GetCurrentRun ( ) const
virtual

Implements IG4Svc.

Definition at line 212 of file G4Svc.cpp.

212 {
213
214 return ( p_runMgr->GetCurrentRun() );
215
216}

◆ GetMdcDataInput()

int G4Svc::GetMdcDataInput ( )
inline

Definition at line 93 of file G4Svc.h.

93{ return m_mdcDataInput; }

Referenced by BesMdcGeoParameter::BesMdcGeoParameter().

◆ GetMdcDedxFlag()

int G4Svc::GetMdcDedxFlag ( )
inline

Definition at line 94 of file G4Svc.h.

94{return m_mdcDedxFlag;}

Referenced by BesMdcSD::BesMdcSD(), BesMdcSD::ProcessHits(), and BesRawDataWriter::SaveMdcDigits().

◆ GetMdcNoiseFile()

std::string G4Svc::GetMdcNoiseFile ( )
inline

Definition at line 87 of file G4Svc.h.

87{return m_mdcNoiseFile;}

Referenced by BesMdcDigitizer::BesMdcDigitizer().

◆ GetNBunch()

double G4Svc::GetNBunch ( )
inline

Definition at line 82 of file G4Svc.h.

82{return m_nBunch;}

Referenced by G4HepMCInterface::HepMC2G4().

◆ GetSetBeamShift()

bool G4Svc::GetSetBeamShift ( )
inline

Definition at line 91 of file G4Svc.h.

91{return m_setBeamShift;}

◆ GetTupleCgem()

NTuple::Tuple * G4Svc::GetTupleCgem ( )
inline

Definition at line 104 of file G4Svc.h.

104{return m_tupleCgem;}

◆ GetTupleEmc1()

NTuple::Tuple * G4Svc::GetTupleEmc1 ( )
inline

Definition at line 116 of file G4Svc.h.

116{return m_tupleEmc1;}

Referenced by BesEmcDigitizer::BesEmcDigitizer().

◆ GetTupleEmc2()

NTuple::Tuple * G4Svc::GetTupleEmc2 ( )
inline

Definition at line 119 of file G4Svc.h.

119{return m_tupleEmc2;}

Referenced by BesEmcDigitizer::BesEmcDigitizer().

◆ GetTupleMdc()

NTuple::Tuple * G4Svc::GetTupleMdc ( )
inline

Definition at line 97 of file G4Svc.h.

97{return m_tupleMdc;}

Referenced by BesMdcSD::BesMdcSD().

◆ GetTupleMuc()

NTuple::Tuple * G4Svc::GetTupleMuc ( )
inline

Definition at line 122 of file G4Svc.h.

122{return m_tupleMuc;}

Referenced by BesMucDigitizer::BesMucDigitizer().

◆ GetTupleTof1()

NTuple::Tuple * G4Svc::GetTupleTof1 ( )
inline

Definition at line 107 of file G4Svc.h.

107{return m_tupleTof1;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ GetTupleTof2()

NTuple::Tuple * G4Svc::GetTupleTof2 ( )
inline

Definition at line 110 of file G4Svc.h.

110{return m_tupleTof2;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ GetTupleTof3()

NTuple::Tuple * G4Svc::GetTupleTof3 ( )
inline

Definition at line 113 of file G4Svc.h.

113{return m_tupleTof3;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ initialize()

StatusCode G4Svc::initialize ( )
virtual

Definition at line 145 of file G4Svc.cpp.

145 {
146
147 MsgStream log( msgSvc(), name() );
148
149 StatusCode status = Service::initialize();
150 log << MSG::INFO << "Service initialized" << endreq;
151
152 //get IRealizationSvc
153 IRealizationSvc *tmpReal;
154 status = service("RealizationSvc", tmpReal);
155 if (!status.isSuccess())
156 {
157 log << MSG::ERROR << " Could not initialize Realization Service" << endreq;
158 return status;
159 } else {
160 log << MSG::INFO << "got the RealizationSvc" << endreq;
161 m_RealizationSvc=dynamic_cast<RealizationSvc*>(tmpReal);
162 }
163
164 m_runID = m_RealizationSvc->getRunId();
165
166 runMgr();
167 return status;
168}
G4RunManager * runMgr()
Definition G4Svc.cpp:128

◆ LogLevel()

int G4Svc::LogLevel ( )
inline

Definition at line 144 of file G4Svc.h.

144{return m_logLevel;}

Referenced by BesSim::initialize().

◆ MdcRootFlag()

bool G4Svc::MdcRootFlag ( )
inline

Definition at line 125 of file G4Svc.h.

125{return m_mdcRootFlag;}

Referenced by BesMdcSD::BesMdcSD(), and BesSim::initialize().

◆ MucNoiseMode()

int G4Svc::MucNoiseMode ( )
inline

Definition at line 142 of file G4Svc.h.

142{return m_mucNoiseMode;}

Referenced by BesMucSD::BesMucSD().

◆ MucRootFlag()

bool G4Svc::MucRootFlag ( )
inline

Definition at line 129 of file G4Svc.h.

129{return m_mucRootFlag;}

Referenced by BesMucDigitizer::BesMucDigitizer(), BesMucDigitizer::Digitize(), and BesSim::initialize().

◆ queryInterface()

StatusCode G4Svc::queryInterface ( const InterfaceID & riid,
void ** ppvInterface )
virtual

Definition at line 184 of file G4Svc.cpp.

185 {
186 StatusCode sc = StatusCode::FAILURE;
187
188 if (riid == IID_IG4Svc) {
189 *ppvInterface = dynamic_cast<IG4Svc*>(this);
190 sc = StatusCode::SUCCESS;
191 } else {
192 sc = Service::queryInterface( riid, ppvInterface );
193 }
194 return sc;
195}

◆ RunInitialize()

void G4Svc::RunInitialize ( )

Definition at line 369 of file G4Svc.cpp.

370{
371 bool cond = p_runMgr->ConfirmBeamOnCondition();
372 if(cond)
373 {
374 std::cout<<"########### initializing the G4Run ############"<<
375 std::endl;
376 p_runMgr->SetRunIDCounter( -std::abs(m_runID) );
377 p_runMgr->RunInitialization();
378 }
379}

Referenced by BesSim::beginRun().

◆ runMgr()

G4RunManager * G4Svc::runMgr ( )
virtual

Implements IG4Svc.

Definition at line 128 of file G4Svc.cpp.

128 {
129 //std::cout<<"G4Svc::runMgr()"<<std::endl;
130 MsgStream log( msgSvc(), name() );
131
132 if (p_runMgr == 0) {
133 p_runMgr = new G4SvcRunManager();
134 p_runMgr->SetLogLevel( m_logLevel );
135 //p_runMgr->SetSaveHits( m_saveHits );
136 //p_runMgr->SetSaveTracks( m_saveTracks );
137 }
138
139 return p_runMgr;
140
141}

Referenced by BesSim::finalize(), and initialize().

◆ RunTerminate()

void G4Svc::RunTerminate ( )

Definition at line 381 of file G4Svc.cpp.

382{
383 p_runMgr->RunTermination();
384}

Referenced by BesSim::finalize().

◆ SetBeamTime()

void G4Svc::SetBeamTime ( double value)
inline

Definition at line 86 of file G4Svc.h.

86{m_beamTime = value;}

Referenced by BesTuningIO::GetTofRootHits(), and G4HepMCInterface::HepMC2G4().

◆ SetTupleCgem()

void G4Svc::SetTupleCgem ( NTuple::Tuple * tuple)
inline

Definition at line 105 of file G4Svc.h.

105{m_tupleCgem = tuple;}

Referenced by BesSim::bookCgemRootFile().

◆ SetTupleEmc1()

void G4Svc::SetTupleEmc1 ( NTuple::Tuple * tuple)
inline

Definition at line 117 of file G4Svc.h.

117{m_tupleEmc1 = tuple;}

Referenced by BesSim::bookEmcRootFile().

◆ SetTupleEmc2()

void G4Svc::SetTupleEmc2 ( NTuple::Tuple * tuple)
inline

Definition at line 120 of file G4Svc.h.

120{m_tupleEmc2 = tuple;}

Referenced by BesSim::bookEmcRootFile().

◆ SetTupleMdc()

void G4Svc::SetTupleMdc ( NTuple::Tuple * tuple)
inline

Definition at line 98 of file G4Svc.h.

98{m_tupleMdc = tuple;}

Referenced by BesSim::bookMdcRootFile().

◆ SetTupleMuc()

void G4Svc::SetTupleMuc ( NTuple::Tuple * tuple)
inline

Definition at line 123 of file G4Svc.h.

123{m_tupleMuc = tuple;}

Referenced by BesSim::bookMucRootFile().

◆ SetTupleTof1()

void G4Svc::SetTupleTof1 ( NTuple::Tuple * tuple)
inline

Definition at line 108 of file G4Svc.h.

108{m_tupleTof1 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetTupleTof2()

void G4Svc::SetTupleTof2 ( NTuple::Tuple * tuple)
inline

Definition at line 111 of file G4Svc.h.

111{m_tupleTof2 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetTupleTof3()

void G4Svc::SetTupleTof3 ( NTuple::Tuple * tuple)
inline

Definition at line 114 of file G4Svc.h.

114{m_tupleTof3 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetUserAction() [1/6]

void G4Svc::SetUserAction ( G4UserEventAction * action)
virtual

Implements IG4Svc.

Definition at line 251 of file G4Svc.cpp.

251 {
252 if (p_runMgr != 0) {
253 p_runMgr->SetUserAction(action);
254 }
255}

◆ SetUserAction() [2/6]

void G4Svc::SetUserAction ( G4UserRunAction * action)
virtual

Implements IG4Svc.

Definition at line 244 of file G4Svc.cpp.

244 {
245 if (p_runMgr != 0) {
246 p_runMgr->SetUserAction(action);
247 }
248}

Referenced by BesSim::initialize().

◆ SetUserAction() [3/6]

void G4Svc::SetUserAction ( G4UserStackingAction * action)
virtual

Implements IG4Svc.

Definition at line 266 of file G4Svc.cpp.

266 {
267 if (p_runMgr != 0) {
268 p_runMgr->SetUserAction(action);
269 }
270}

◆ SetUserAction() [4/6]

void G4Svc::SetUserAction ( G4UserSteppingAction * action)
virtual

Implements IG4Svc.

Definition at line 280 of file G4Svc.cpp.

280 {
281 if (p_runMgr != 0) {
282 p_runMgr->SetUserAction(action);
283 }
284}

◆ SetUserAction() [5/6]

void G4Svc::SetUserAction ( G4UserTrackingAction * action)
virtual

Implements IG4Svc.

Definition at line 273 of file G4Svc.cpp.

273 {
274 if (p_runMgr != 0) {
275 p_runMgr->SetUserAction(action);
276 }
277}

◆ SetUserAction() [6/6]

void G4Svc::SetUserAction ( G4VUserPrimaryGeneratorAction * action)
virtual

Implements IG4Svc.

Definition at line 258 of file G4Svc.cpp.

258 {
259 if (p_runMgr != 0) {
260 if(m_besGenAction)
261 p_runMgr->SetUserAction( action );
262 }
263}

◆ SetUserInitialization() [1/2]

void G4Svc::SetUserInitialization ( G4VUserDetectorConstruction * userInit)
virtual

Implements IG4Svc.

Definition at line 228 of file G4Svc.cpp.

228 {
229 if (p_runMgr != 0) {
230 p_runMgr->SetUserInitialization(userInit);
231 }
232}

Referenced by BesSim::initialize().

◆ SetUserInitialization() [2/2]

void G4Svc::SetUserInitialization ( G4VUserPhysicsList * physInit)
virtual

Implements IG4Svc.

Definition at line 236 of file G4Svc.cpp.

236 {
237 if (p_runMgr != 0) {
238 p_runMgr->SetUserInitialization(userInit);
239 }
240}

◆ SimulateEvents()

void G4Svc::SimulateEvents ( int i)

Definition at line 386 of file G4Svc.cpp.

387{
388 p_runMgr->SimulateEvent(i);
389}
void SimulateEvent(int i)

Referenced by BesSim::execute().

◆ StartUISession()

void G4Svc::StartUISession ( )
virtual

Implements IG4Svc.

Definition at line 288 of file G4Svc.cpp.

288 {
289
290 MsgStream log( msgSvc(), name() );
291 log << MSG::DEBUG << "Starting G4 terminal" << endreq;
292
293 G4UIsession * ses = new G4UIterminal(new G4UItcsh);
294 ses->SessionStart();
295
296 delete ses;
297}

Referenced by G4Init().

◆ TofRootFlag()

◆ TofSaturationFlag()

bool G4Svc::TofSaturationFlag ( )
inline

Definition at line 131 of file G4Svc.h.

131{return m_tofSaturationFlag;} // Tof Q Saturation in bhabha events

Referenced by BesTofDigitizerBrV2::TofPmtRspns(), and BesTofDigitizerEcV3::TofPmtRspns().

◆ uiMgr()

G4UImanager * G4Svc::uiMgr ( )
virtual

Implements IG4Svc.

Definition at line 219 of file G4Svc.cpp.

219 {
220 if (p_uiMgr == 0) {
221 p_uiMgr = G4UImanager::GetUIpointer();
222 }
223 return ( p_uiMgr );
224}

Referenced by G4Init().

Friends And Related Symbol Documentation

◆ SvcFactory< G4Svc >

friend class SvcFactory< G4Svc >
friend

Definition at line 160 of file G4Svc.h.


The documentation for this class was generated from the following files: