BOSS 6.6.4.p01
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 ()
 
NTuple::Tuple * GetTupleMdc ()
 
void SetTupleMdc (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 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)
 
virtual G4RunManager * runMgr ()=0
 
virtual G4UImanager * uiMgr ()=0
 
virtual void StartUISession ()=0
 
virtual const G4Event * GetCurrentEvent () const =0
 
virtual const G4Run * GetCurrentRun () const =0
 
virtual void SetUserInitialization (G4VUserDetectorConstruction *)=0
 
virtual void SetUserInitialization (G4VUserPhysicsList *)=0
 
virtual void SetUserAction (G4UserRunAction *)=0
 
virtual void SetUserAction (G4UserEventAction *)=0
 
virtual void SetUserAction (G4VUserPrimaryGeneratorAction *)=0
 
virtual void SetUserAction (G4UserStackingAction *)=0
 
virtual void SetUserAction (G4UserTrackingAction *)=0
 
virtual void SetUserAction (G4UserSteppingAction *)=0
 
virtual void G4Init ()=0
 

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
53 //declareProperty( "SaveHits", m_saveHits=true);
54 //declareProperty( "SaveTracks", m_saveTracks=false);
55 declareProperty( "LogLevel", m_logLevel=6);
56
57 declareProperty( "InteractiveG4" , m_interactiveG4=false);
58
59 declareProperty("BesGenAction", m_besGenAction=false);
60
61 declareProperty("BeamPosX",m_beamPosX=0);
62 declareProperty("BeamPosY",m_beamPosY=0);
63 declareProperty("BeamPosZ",m_beamPosZ=0);
64
65 declareProperty("BeamSizeX", m_beamSizeX=10);
66 declareProperty("BeamSizeY", m_beamSizeY=20);
67 declareProperty("BeamSizeZ", m_beamSizeZ=30);
68
69 declareProperty("BeamStartTime",m_beamStartTime=0);
70 declareProperty("BeamDeltaTime",m_beamDeltaTime=0);
71 declareProperty("NBunch",m_nBunch=1);
72
73 declareProperty("BunchTimeSigma",m_bunchTimeSigma=0);
74
75 declareProperty("MdcDataInput",m_mdcDataInput=1);
76 declareProperty("MdcDedxFlag",m_mdcDedxFlag=1);
77
78 declareProperty("BoostLab",m_boostLab=false);
79 declareProperty("BeamAngle",m_beamAngle=11);
80
81 declareProperty("SetBeamShift",m_setBeamShift= false);
82 declareProperty("BeamShiftPx" ,m_beamShiftPx=39.45); // in unit MeV
83 declareProperty("BeamShiftPy" ,m_beamShiftPy=-0.98);
84 declareProperty("BeamShiftPz" ,m_beamShiftPz=3.70);
85
86 declareProperty("MdcRootFlag",m_mdcRootFlag=false);
87 declareProperty("TofRootFlag",m_tofRootFlag=false);
88 declareProperty("EmcRootFlag",m_emcRootFlag=false);
89 declareProperty("MucRootFlag",m_mucRootFlag=false);
90
91 // Switch for ADC Saturation in Bhabha events
92 declareProperty("TofSaturationFlag",m_tofSaturationFlag=true);
93
94 declareProperty("EmcLightOutput",m_emcLightOutput=true);
95 declareProperty("EmcIncoherentNoise",m_emcIncoherentNoise=0.2);
96 declareProperty("EmcCoherentNoise",m_emcCoherentNoise=0.);
97 declareProperty("EmcNoiseMean",m_emcNoiseMean=1.16);
98 declareProperty("EmcNoiseSigma",m_emcNoiseSigma=0.23);
99 declareProperty("EmcNoiseThreshold",m_emcNoiseThreshold=0.5);
100 declareProperty("EmcNoiseLevel",m_emcNoiseLevel=3);
101 declareProperty("EmcTime",m_emcTime=20);
102
103 declareProperty("MucNoiseMode", m_mucNoiseMode=1);
104}

◆ ~G4Svc()

G4Svc::~G4Svc ( )
protectedvirtual

Definition at line 108 of file G4Svc.cpp.

108 {
109// std::cout<<"G4Svc::~G4Svc()"<<std::endl;
110// if (p_runMgr != 0) {
111// delete p_runMgr;
112// }
113//#ifdef G4VIS_USE
114// if (p_visMgr != 0) {
115// delete p_visMgr;
116// }
117//#endif
118
119}

Member Function Documentation

◆ EmcCoherentNoise()

double G4Svc::EmcCoherentNoise ( )
inline

Definition at line 126 of file G4Svc.h.

126{return m_emcCoherentNoise;}

Referenced by BesEmcDigitizer::Digitize().

◆ EmcIncoherentNoise()

double G4Svc::EmcIncoherentNoise ( )
inline

Definition at line 125 of file G4Svc.h.

125{return m_emcIncoherentNoise;}

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

◆ EmcLightOutput()

bool G4Svc::EmcLightOutput ( )
inline

Definition at line 124 of file G4Svc.h.

124{return m_emcLightOutput;}

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

◆ EmcNoiseLevel()

int G4Svc::EmcNoiseLevel ( )
inline

Definition at line 130 of file G4Svc.h.

130{return m_emcNoiseLevel;}

Referenced by BesEmcDigitizer::Digitize().

◆ EmcNoiseMean()

double G4Svc::EmcNoiseMean ( )
inline

Definition at line 127 of file G4Svc.h.

127{return m_emcNoiseMean;}

Referenced by BesEmcDigitizer::AddNoiseAll().

◆ EmcNoiseSigma()

double G4Svc::EmcNoiseSigma ( )
inline

Definition at line 128 of file G4Svc.h.

128{return m_emcNoiseSigma;}

Referenced by BesEmcDigitizer::AddNoiseAll().

◆ EmcNoiseThreshold()

double G4Svc::EmcNoiseThreshold ( )
inline

Definition at line 129 of file G4Svc.h.

129{return m_emcNoiseThreshold;}

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

◆ EmcRootFlag()

bool G4Svc::EmcRootFlag ( )
inline

Definition at line 119 of file G4Svc.h.

119{return m_emcRootFlag;}

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

◆ EmcTime()

int G4Svc::EmcTime ( )
inline

Definition at line 131 of file G4Svc.h.

131{return m_emcTime;}

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

◆ finalize()

StatusCode G4Svc::finalize ( )
virtual

Definition at line 166 of file G4Svc.cpp.

166 {
167
168 MsgStream log( msgSvc(), name() );
169 StatusCode status = Service::finalize();
170
171 if ( status.isSuccess() )
172 log << MSG::INFO << "Service finalised successfully" << endreq;
173
174 return status;
175}
IMessageSvc * msgSvc()

◆ G4Init()

void G4Svc::G4Init ( )
virtual

Implements IG4Svc.

Definition at line 295 of file G4Svc.cpp.

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

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

◆ GetCurrentEvent()

const G4Event * G4Svc::GetCurrentEvent ( ) const
virtual

Implements IG4Svc.

Definition at line 192 of file G4Svc.cpp.

192 {
193
194 const G4Event *evt = p_runMgr->GetCurrentEvent();
195
196 if (evt == 0) {
197 MsgStream log( msgSvc(), name() );
198 log << MSG::ERROR << "Could not get current G4Event" << endreq;
199 }
200
201 return ( evt );
202
203}

◆ GetCurrentRun()

const G4Run * G4Svc::GetCurrentRun ( ) const
virtual

Implements IG4Svc.

Definition at line 206 of file G4Svc.cpp.

206 {
207
208 return ( p_runMgr->GetCurrentRun() );
209
210}

◆ 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;}

◆ GetTupleEmc1()

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

Definition at line 108 of file G4Svc.h.

108{return m_tupleEmc1;}

Referenced by BesEmcDigitizer::BesEmcDigitizer().

◆ GetTupleEmc2()

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

Definition at line 111 of file G4Svc.h.

111{return m_tupleEmc2;}

Referenced by BesEmcDigitizer::BesEmcDigitizer().

◆ GetTupleMdc()

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

Definition at line 96 of file G4Svc.h.

96{return m_tupleMdc;}

Referenced by BesMdcSD::BesMdcSD().

◆ GetTupleMuc()

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

Definition at line 114 of file G4Svc.h.

114{return m_tupleMuc;}

Referenced by BesMucDigitizer::BesMucDigitizer().

◆ GetTupleTof1()

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

Definition at line 99 of file G4Svc.h.

99{return m_tupleTof1;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ GetTupleTof2()

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

Definition at line 102 of file G4Svc.h.

102{return m_tupleTof2;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ GetTupleTof3()

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

Definition at line 105 of file G4Svc.h.

105{return m_tupleTof3;}

Referenced by BesTofDigitizerV::BesTofDigitizerV().

◆ initialize()

StatusCode G4Svc::initialize ( )
virtual

Definition at line 139 of file G4Svc.cpp.

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

◆ LogLevel()

int G4Svc::LogLevel ( )
inline

Definition at line 135 of file G4Svc.h.

135{return m_logLevel;}

Referenced by BesSim::initialize().

◆ MdcRootFlag()

bool G4Svc::MdcRootFlag ( )
inline

Definition at line 117 of file G4Svc.h.

117{return m_mdcRootFlag;}

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

◆ MucNoiseMode()

int G4Svc::MucNoiseMode ( )
inline

Definition at line 133 of file G4Svc.h.

133{return m_mucNoiseMode;}

Referenced by BesMucSD::BesMucSD().

◆ MucRootFlag()

bool G4Svc::MucRootFlag ( )
inline

Definition at line 120 of file G4Svc.h.

120{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 178 of file G4Svc.cpp.

179 {
180 StatusCode sc = StatusCode::FAILURE;
181
182 if (riid == IID_IG4Svc) {
183 *ppvInterface = dynamic_cast<IG4Svc*>(this);
184 sc = StatusCode::SUCCESS;
185 } else {
186 sc = Service::queryInterface( riid, ppvInterface );
187 }
188 return sc;
189}
Definition: IG4Svc.h:30

◆ RunInitialize()

void G4Svc::RunInitialize ( )

Definition at line 363 of file G4Svc.cpp.

364{
365 bool cond = p_runMgr->ConfirmBeamOnCondition();
366 if(cond)
367 {
368 std::cout<<"########### initializing the G4Run ############"<<
369 std::endl;
370 p_runMgr->SetRunIDCounter( -std::abs(m_runID) );
371 p_runMgr->RunInitialization();
372 }
373}

Referenced by BesSim::beginRun().

◆ runMgr()

G4RunManager * G4Svc::runMgr ( )
virtual

Implements IG4Svc.

Definition at line 122 of file G4Svc.cpp.

122 {
123 //std::cout<<"G4Svc::runMgr()"<<std::endl;
124 MsgStream log( msgSvc(), name() );
125
126 if (p_runMgr == 0) {
127 p_runMgr = new G4SvcRunManager();
128 p_runMgr->SetLogLevel( m_logLevel );
129 //p_runMgr->SetSaveHits( m_saveHits );
130 //p_runMgr->SetSaveTracks( m_saveTracks );
131 }
132
133 return p_runMgr;
134
135}

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

◆ RunTerminate()

void G4Svc::RunTerminate ( )

Definition at line 375 of file G4Svc.cpp.

376{
377 p_runMgr->RunTermination();
378}

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

◆ SetTupleEmc1()

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

Definition at line 109 of file G4Svc.h.

109{m_tupleEmc1 = tuple;}

Referenced by BesSim::bookEmcRootFile().

◆ SetTupleEmc2()

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

Definition at line 112 of file G4Svc.h.

112{m_tupleEmc2 = tuple;}

Referenced by BesSim::bookEmcRootFile().

◆ SetTupleMdc()

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

Definition at line 97 of file G4Svc.h.

97{m_tupleMdc = tuple;}

Referenced by BesSim::bookMdcRootFile().

◆ SetTupleMuc()

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

Definition at line 115 of file G4Svc.h.

115{m_tupleMuc = tuple;}

Referenced by BesSim::bookMucRootFile().

◆ SetTupleTof1()

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

Definition at line 100 of file G4Svc.h.

100{m_tupleTof1 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetTupleTof2()

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

Definition at line 103 of file G4Svc.h.

103{m_tupleTof2 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetTupleTof3()

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

Definition at line 106 of file G4Svc.h.

106{m_tupleTof3 = tuple;}

Referenced by BesSim::bookTofRootFile().

◆ SetUserAction() [1/6]

void G4Svc::SetUserAction ( G4UserEventAction *  action)
virtual

Implements IG4Svc.

Definition at line 245 of file G4Svc.cpp.

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

◆ SetUserAction() [2/6]

void G4Svc::SetUserAction ( G4UserRunAction *  action)
virtual

Implements IG4Svc.

Definition at line 238 of file G4Svc.cpp.

238 {
239 if (p_runMgr != 0) {
240 p_runMgr->SetUserAction(action);
241 }
242}

Referenced by BesSim::initialize().

◆ SetUserAction() [3/6]

void G4Svc::SetUserAction ( G4UserStackingAction *  action)
virtual

Implements IG4Svc.

Definition at line 260 of file G4Svc.cpp.

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

◆ SetUserAction() [4/6]

void G4Svc::SetUserAction ( G4UserSteppingAction *  action)
virtual

Implements IG4Svc.

Definition at line 274 of file G4Svc.cpp.

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

◆ SetUserAction() [5/6]

void G4Svc::SetUserAction ( G4UserTrackingAction *  action)
virtual

Implements IG4Svc.

Definition at line 267 of file G4Svc.cpp.

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

◆ SetUserAction() [6/6]

void G4Svc::SetUserAction ( G4VUserPrimaryGeneratorAction *  action)
virtual

Implements IG4Svc.

Definition at line 252 of file G4Svc.cpp.

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

◆ SetUserInitialization() [1/2]

void G4Svc::SetUserInitialization ( G4VUserDetectorConstruction *  userInit)
virtual

Implements IG4Svc.

Definition at line 222 of file G4Svc.cpp.

222 {
223 if (p_runMgr != 0) {
224 p_runMgr->SetUserInitialization(userInit);
225 }
226}

Referenced by BesSim::initialize().

◆ SetUserInitialization() [2/2]

void G4Svc::SetUserInitialization ( G4VUserPhysicsList *  physInit)
virtual

Implements IG4Svc.

Definition at line 230 of file G4Svc.cpp.

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

◆ SimulateEvents()

void G4Svc::SimulateEvents ( int  i)

Definition at line 380 of file G4Svc.cpp.

381{
382 p_runMgr->SimulateEvent(i);
383}
void SimulateEvent(int i)

Referenced by BesSim::execute().

◆ StartUISession()

void G4Svc::StartUISession ( )
virtual

Implements IG4Svc.

Definition at line 282 of file G4Svc.cpp.

282 {
283
284 MsgStream log( msgSvc(), name() );
285 log << MSG::DEBUG << "Starting G4 terminal" << endreq;
286
287 G4UIsession * ses = new G4UIterminal(new G4UItcsh);
288 ses->SessionStart();
289
290 delete ses;
291}

Referenced by G4Init().

◆ TofRootFlag()

◆ TofSaturationFlag()

bool G4Svc::TofSaturationFlag ( )
inline

Definition at line 122 of file G4Svc.h.

122{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 213 of file G4Svc.cpp.

213 {
214 if (p_uiMgr == 0) {
215 p_uiMgr = G4UImanager::GetUIpointer();
216 }
217 return ( p_uiMgr );
218}

Referenced by G4Init().

Friends And Related Function Documentation

◆ SvcFactory< G4Svc >

friend class SvcFactory< G4Svc >
friend

Definition at line 151 of file G4Svc.h.


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