BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/G4Svc/include/G4Svc/IG4Svc.h
Go to the documentation of this file.
1#ifndef GAUDIKERNEL_IG4SVC_H
2#define GAUDIKERNEL_IG4SVC_H
3
4// Include Files
5#include "GaudiKernel/IService.h"
6#include "GaudiKernel/NTuple.h"
7
8#include "G4Event.hh"
9#include "G4Run.hh"
10#include "G4RunManager.hh"
11#include "G4UImanager.hh"
12#include "G4UserEventAction.hh"
13#include "G4UserRunAction.hh"
14#include "G4UserStackingAction.hh"
15#include "G4UserSteppingAction.hh"
16#include "G4UserTrackingAction.hh"
17#include "G4VUserActionInitialization.hh"
18#include "G4VUserDetectorConstruction.hh"
19#include "G4VUserPhysicsList.hh"
20#include "G4VUserPrimaryGeneratorAction.hh"
21#include "G4VisManager.hh"
22
23// Declaration of the interface ID ( interface id, major version, minor version)
24// static const InterfaceID IID_IG4Svc("IG4Svc", 1 , 0);
25
26/* @class IG4Svc IG4Svc.h GaudiKernel/IG4Svc.h
27
28 This class is an interface to the G4Svc.
29
30 @author Charles Leggett
31
32*/
33class GAUDI_API IG4Svc : virtual public IInterface {
34
35public:
36 // Typedefs for container type
37
38 virtual G4RunManager* runMgr() = 0;
39 virtual G4UImanager* uiMgr() = 0;
40 virtual void StartUISession() = 0;
41
42 virtual const G4Event* GetCurrentEvent() const = 0;
43 virtual const G4Run* GetCurrentRun() const = 0;
44
45 virtual void SetUserInitialization( G4VUserDetectorConstruction* ) = 0;
46 virtual void SetUserInitialization( G4VUserPhysicsList* ) = 0;
47 virtual void SetUserInitialization( G4VUserActionInitialization* ) = 0;
48
49 /*virtual void SetUserAction(G4UserRunAction *) = 0;
50 virtual void SetUserAction(G4UserEventAction *) = 0;
51 virtual void SetUserAction(G4VUserPrimaryGeneratorAction*) = 0;
52 virtual void SetUserAction(G4UserStackingAction*) = 0;
53 virtual void SetUserAction(G4UserTrackingAction*) = 0;
54 virtual void SetUserAction(G4UserSteppingAction*) = 0;*/
55
56 // virtual void NoG4GeomInit() = 0;
57 // virtual void SimulateG4Event() = 0;
58
59 /// Retrieve interface ID
60 // static const InterfaceID& interfaceID() { return IID_IG4Svc; }
62
63 virtual void G4Init() = 0;
64
65#ifdef G4VIS_USE
66 virtual G4VisManager* visMgr() = 0;
67#endif
68
69 // for vertex parameters
70 virtual double GetBeamPosX() = 0;
71 virtual double GetBeamPosY() = 0;
72 virtual double GetBeamPosZ() = 0;
73
74 virtual double GetBeamSizeX() = 0;
75 virtual double GetBeamSizeY() = 0;
76 virtual double GetBeamSizeZ() = 0;
77
78 virtual double GetBeamShiftPx() = 0;
79 virtual double GetBeamShiftPy() = 0;
80 virtual double GetBeamShiftPz() = 0;
81
82 virtual double GetBeamStartTime() = 0;
83 virtual double GetBeamDeltaTime() = 0;
84 virtual double GetNBunch() = 0;
85 virtual double GetBunchTimeSigma() = 0;
86
87 virtual double GetBeamTime() = 0;
88 virtual void SetBeamTime( double value ) = 0;
89 virtual std::string GetMdcNoiseFile() = 0;
90
91 virtual double GetBeamAngle() = 0;
92 virtual bool GetBoostLab() = 0;
93 virtual bool GetSetBeamShift() = 0;
94
95 virtual int GetMdcDataInput() = 0;
96 virtual int GetMdcDedxFlag() = 0;
97 virtual int GetMdcNewSimOpt() = 0;
98
99 virtual NTuple::Tuple* GetTupleMdc() = 0;
100 virtual void SetTupleMdc( NTuple::Tuple* tuple ) = 0;
101
102 virtual NTuple::Tuple* GetTupleTof1() = 0;
103 virtual void SetTupleTof1( NTuple::Tuple* tuple ) = 0;
104
105 virtual NTuple::Tuple* GetTupleTof2() = 0;
106 virtual void SetTupleTof2( NTuple::Tuple* tuple ) = 0;
107
108 virtual NTuple::Tuple* GetTupleTof3() = 0;
109 virtual void SetTupleTof3( NTuple::Tuple* tuple ) = 0;
110
111 virtual NTuple::Tuple* GetTupleEmc1() = 0;
112 virtual void SetTupleEmc1( NTuple::Tuple* tuple ) = 0;
113
114 virtual NTuple::Tuple* GetTupleEmc2() = 0;
115 virtual void SetTupleEmc2( NTuple::Tuple* tuple ) = 0;
116
117 virtual NTuple::Tuple* GetTupleMuc() = 0;
118 virtual void SetTupleMuc( NTuple::Tuple* tuple ) = 0;
119
120 virtual bool MdcRootFlag() = 0;
121 virtual bool TofRootFlag() = 0;
122 virtual bool EmcRootFlag() = 0;
123 virtual bool MucRootFlag() = 0;
124
125 virtual bool TofSaturationFlag() = 0;
126
127 virtual bool EmcLightOutput() = 0;
128 virtual double EmcIncoherentNoise() = 0;
129 virtual double EmcCoherentNoise() = 0;
130 virtual double EmcNoiseMean() = 0;
131 virtual double EmcNoiseSigma() = 0;
132 virtual double EmcNoiseThreshold() = 0;
133 virtual int EmcNoiseLevel() = 0;
134 virtual int EmcTime() = 0;
135 virtual int EmcElecSaturation() = 0;
136 virtual int EmcElecSatuDead() = 0;
137
138 virtual int MucNoiseMode() = 0;
139
140 virtual int LogLevel() = 0;
141
142 virtual void RunInitialize() = 0;
143 virtual void RunTerminate() = 0;
144 virtual void SimulateEvents( int ) = 0;
145
146private:
147};
148
149#endif
virtual void SetUserInitialization(G4VUserDetectorConstruction *)=0
virtual double EmcIncoherentNoise()=0
virtual void SetBeamTime(double value)=0
virtual double GetBeamPosX()=0
virtual void RunInitialize()=0
virtual void StartUISession()=0
virtual int EmcElecSatuDead()=0
virtual NTuple::Tuple * GetTupleEmc1()=0
virtual int GetMdcDataInput()=0
virtual void SetTupleTof3(NTuple::Tuple *tuple)=0
virtual G4RunManager * runMgr()=0
virtual int EmcTime()=0
virtual double EmcNoiseSigma()=0
virtual double GetBeamTime()=0
virtual bool TofSaturationFlag()=0
virtual double GetBeamShiftPz()=0
virtual void SetUserInitialization(G4VUserPhysicsList *)=0
virtual int EmcNoiseLevel()=0
virtual double GetBeamStartTime()=0
virtual bool EmcRootFlag()=0
virtual NTuple::Tuple * GetTupleMdc()=0
virtual double GetBeamShiftPy()=0
virtual NTuple::Tuple * GetTupleTof1()=0
virtual double GetBeamSizeY()=0
virtual double GetBeamShiftPx()=0
virtual void RunTerminate()=0
virtual NTuple::Tuple * GetTupleMuc()=0
virtual int LogLevel()=0
virtual double GetNBunch()=0
virtual bool MdcRootFlag()=0
virtual int GetMdcNewSimOpt()=0
virtual int MucNoiseMode()=0
virtual std::string GetMdcNoiseFile()=0
virtual void SetTupleMuc(NTuple::Tuple *tuple)=0
virtual double GetBeamDeltaTime()=0
virtual double GetBeamAngle()=0
virtual void SetTupleTof2(NTuple::Tuple *tuple)=0
virtual double GetBeamPosY()=0
virtual void SetTupleEmc1(NTuple::Tuple *tuple)=0
virtual void SetTupleMdc(NTuple::Tuple *tuple)=0
virtual double EmcCoherentNoise()=0
virtual bool GetSetBeamShift()=0
virtual double EmcNoiseMean()=0
virtual double GetBeamSizeZ()=0
virtual NTuple::Tuple * GetTupleTof3()=0
virtual int EmcElecSaturation()=0
virtual double GetBeamPosZ()=0
virtual NTuple::Tuple * GetTupleTof2()=0
virtual double GetBunchTimeSigma()=0
virtual void SetTupleTof1(NTuple::Tuple *tuple)=0
virtual double EmcNoiseThreshold()=0
virtual void SimulateEvents(int)=0
virtual const G4Run * GetCurrentRun() const =0
virtual const G4Event * GetCurrentEvent() const =0
virtual double GetBeamSizeX()=0
virtual void SetTupleEmc2(NTuple::Tuple *tuple)=0
virtual bool MucRootFlag()=0
DeclareInterfaceID(IG4Svc, 1, 0)
Retrieve interface ID.
virtual bool EmcLightOutput()=0
virtual void G4Init()=0
virtual NTuple::Tuple * GetTupleEmc2()=0
virtual bool GetBoostLab()=0
virtual G4UImanager * uiMgr()=0
virtual void SetUserInitialization(G4VUserActionInitialization *)=0
virtual int GetMdcDedxFlag()=0
virtual bool TofRootFlag()=0