]>
Commit | Line | Data |
---|---|---|
1 | // $Id$ | |
2 | // Category: run | |
3 | // | |
4 | // Author: I. Hrivnacova | |
5 | // | |
6 | // Class TG4VRunConfiguration | |
7 | // -------------------------- | |
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() | |
11 | // that has to be be implemented by a derived class. | |
12 | ||
13 | #ifndef TG4V_RUN_CONFIGURATION_H | |
14 | #define TG4V_RUN_CONFIGURATION_H | |
15 | ||
16 | class TG4TrackingAction; | |
17 | class TG4SteppingAction; | |
18 | class TG4VSDConstruction; | |
19 | class TG4SDManager; | |
20 | class TG4ModularPhysicsList; | |
21 | ||
22 | class G4VUserDetectorConstruction; | |
23 | class G4VUserPrimaryGeneratorAction; | |
24 | class G4UserRunAction; | |
25 | class G4UserEventAction; | |
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 | ||
40 | // get methods | |
41 | TG4ModularPhysicsList* GetPhysicsList() const; | |
42 | TG4VSDConstruction* GetSDConstruction() const; | |
43 | ||
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 | |
55 | TG4VSDConstruction* fSDConstruction; //sensitive detectors | |
56 | //construction | |
57 | TG4ModularPhysicsList* fPhysicsList; //physics list | |
58 | G4VUserPrimaryGeneratorAction* fPrimaryGenerator; //primary generator | |
59 | G4UserRunAction* fRunAction; //run action | |
60 | G4UserEventAction* fEventAction; //event action | |
61 | TG4TrackingAction* fTrackingAction; //tracking action | |
62 | TG4SteppingAction* fSteppingAction; //stepping action | |
63 | G4UserStackingAction* fStackingAction; //stacking action | |
64 | }; | |
65 | ||
66 | #endif //TG4V_RUN_CONFIGURATION_H | |
67 |