CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Simulation/G4Svc/G4Svc-00-04-01/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
7class G4RunManager;
8class G4UImanager;
9class G4Event;
10class G4Run;
11class G4VUserDetectorConstruction;
12class G4VUserPhysicsList;
13class G4UserRunAction;
14class G4UserEventAction;
15class G4VUserPrimaryGeneratorAction;
16class G4UserStackingAction;
17class G4UserTrackingAction;
18class G4UserSteppingAction;
19
20// Declaration of the interface ID ( interface id, major version, minor version)
21static const InterfaceID IID_IG4Svc("IG4Svc", 1 , 0);
22
23/* @class IG4Svc IG4Svc.h GaudiKernel/IG4Svc.h
24
25 This class is an interface to the G4Svc.
26
27 @author Charles Leggett
28
29*/
30class IG4Svc : virtual public IService {
31
32public:
33 // Typedefs for container type
34
35 virtual G4RunManager* runMgr() = 0;
36 virtual G4UImanager* uiMgr() = 0;
37 virtual void StartUISession() = 0;
38
39 virtual const G4Event* GetCurrentEvent() const = 0;
40 virtual const G4Run* GetCurrentRun() const = 0;
41
42 virtual void SetUserInitialization(G4VUserDetectorConstruction*) = 0;
43 virtual void SetUserInitialization(G4VUserPhysicsList*) = 0;
44
45 virtual void SetUserAction(G4UserRunAction *) = 0;
46 virtual void SetUserAction(G4UserEventAction *) = 0;
47 virtual void SetUserAction(G4VUserPrimaryGeneratorAction*) = 0;
48 virtual void SetUserAction(G4UserStackingAction*) = 0;
49 virtual void SetUserAction(G4UserTrackingAction*) = 0;
50 virtual void SetUserAction(G4UserSteppingAction*) = 0;
51
52 //virtual void NoG4GeomInit() = 0;
53 //virtual void SimulateG4Event() = 0;
54
55 /// Retrieve interface ID
56 static const InterfaceID& interfaceID() { return IID_IG4Svc; }
57
58 virtual void G4Init() = 0;
59private:
60};
61
62#endif
63
virtual void SetUserInitialization(G4VUserDetectorConstruction *)=0
static const InterfaceID & interfaceID()
Retrieve interface ID.
virtual void StartUISession()=0
virtual G4RunManager * runMgr()=0
virtual void SetUserInitialization(G4VUserPhysicsList *)=0
virtual void SetUserAction(G4UserEventAction *)=0
virtual void SetUserAction(G4UserRunAction *)=0
virtual void SetUserAction(G4UserStackingAction *)=0
virtual void SetUserAction(G4VUserPrimaryGeneratorAction *)=0
virtual void SetUserAction(G4UserTrackingAction *)=0
virtual const G4Run * GetCurrentRun() const =0
virtual const G4Event * GetCurrentEvent() const =0
virtual void SetUserAction(G4UserSteppingAction *)=0
virtual void G4Init()=0
virtual G4UImanager * uiMgr()=0