]>
Commit | Line | Data |
---|---|---|
2817d3e2 | 1 | // $Id$ |
2 | // Category: run | |
3 | // | |
90adf9ff | 4 | // Author: I. Hrivnacova |
5 | // | |
6 | // Class TG4VRunConfiguration | |
7 | // -------------------------- | |
2817d3e2 | 8 | // Abstract class that takes care of creating all user defined classes |
9 | // that will be initialized and managed by Geant4 kernel (G4RunManager). | |
10 | // It has one pure virtual method CreateUserConfiguration() | |
90adf9ff | 11 | // that has to be be implemented by a derived class. |
2817d3e2 | 12 | |
13 | #ifndef TG4V_RUN_CONFIGURATION_H | |
14 | #define TG4V_RUN_CONFIGURATION_H | |
15 | ||
c2c99141 | 16 | class TG4TrackingAction; |
17 | class TG4SteppingAction; | |
95cb0e92 | 18 | class TG4VSDConstruction; |
19 | class TG4SDManager; | |
90adf9ff | 20 | class TG4ModularPhysicsList; |
c2c99141 | 21 | |
2817d3e2 | 22 | class G4VUserDetectorConstruction; |
2817d3e2 | 23 | class G4VUserPrimaryGeneratorAction; |
24 | class G4UserRunAction; | |
25 | class G4UserEventAction; | |
2817d3e2 | 26 | class G4UserStackingAction; |
27 | class G4RunManager; | |
28 | ||
29 | class TG4VRunConfiguration | |
30 | { | |
31 | public: | |
32 | TG4VRunConfiguration(); | |
33 | // --> protected | |
34 | // TG4VRunConfiguration(const TG4VRunConfiguration& right); | |
35 | virtual ~TG4VRunConfiguration(); | |
36 | ||
37 | // methods | |
38 | void ConfigureRunManager(G4RunManager* runManager); | |
39 | ||
20bf4ef5 | 40 | // get methods |
90adf9ff | 41 | TG4ModularPhysicsList* GetPhysicsList() const; |
95cb0e92 | 42 | TG4VSDConstruction* GetSDConstruction() const; |
20bf4ef5 | 43 | |
2817d3e2 | 44 | protected: |
45 | TG4VRunConfiguration(const TG4VRunConfiguration& right); | |
46 | ||
47 | // operators | |
48 | TG4VRunConfiguration& operator=(const TG4VRunConfiguration& right); | |
49 | ||
50 | // methods | |
51 | virtual void CreateUserConfiguration() = 0; | |
52 | ||
53 | // data members | |
54 | G4VUserDetectorConstruction* fDetectorConstruction; //det construction | |
95cb0e92 | 55 | TG4VSDConstruction* fSDConstruction; //sensitive detectors |
56 | //construction | |
90adf9ff | 57 | TG4ModularPhysicsList* fPhysicsList; //physics list |
2817d3e2 | 58 | G4VUserPrimaryGeneratorAction* fPrimaryGenerator; //primary generator |
59 | G4UserRunAction* fRunAction; //run action | |
60 | G4UserEventAction* fEventAction; //event action | |
c2c99141 | 61 | TG4TrackingAction* fTrackingAction; //tracking action |
62 | TG4SteppingAction* fSteppingAction; //stepping action | |
2817d3e2 | 63 | G4UserStackingAction* fStackingAction; //stacking action |
64 | }; | |
65 | ||
66 | #endif //TG4V_RUN_CONFIGURATION_H | |
67 |