]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4VRunConfiguration.h
Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / TGeant4 / TG4VRunConfiguration.h
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