File indexing completed on 2024-04-06 12:30:13
0001 #ifndef SimG4Core_SimRunInterface_h
0002 #define SimG4Core_SimRunInterface_h 1
0003
0004
0005
0006
0007
0008 class RunManagerMT;
0009 class RunManagerMTWorker;
0010 class SimTrackManager;
0011 class RunAction;
0012 class EventAction;
0013 class TrackingAction;
0014 class SteppingAction;
0015 class TmpSimEvent;
0016
0017 class SimRunInterface {
0018 public:
0019 SimRunInterface(RunManagerMT* run, bool master);
0020
0021 SimRunInterface(RunManagerMTWorker* run, bool master);
0022
0023 ~SimRunInterface() = default;
0024
0025
0026
0027 void setRunManagerMTWorker(RunManagerMTWorker* run);
0028
0029 void Connect(RunAction*);
0030
0031 void Connect(EventAction*);
0032
0033 void Connect(TrackingAction*);
0034
0035 void Connect(SteppingAction*);
0036
0037 SimTrackManager* GetSimTrackManager();
0038
0039 void abortEvent();
0040
0041 void abortRun(bool softAbort);
0042
0043 TmpSimEvent* simEvent();
0044
0045 private:
0046 RunManagerMT* m_runManagerMT;
0047 RunManagerMTWorker* m_runManagerMTWorker;
0048
0049 SimTrackManager* m_SimTrackManager;
0050
0051 bool m_isMaster;
0052 };
0053
0054 #endif