]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4VRunConfiguration.h
changed ordering of includes from Root to avoid compilation error
[u/mrichter/AliRoot.git] / TGeant4 / TG4VRunConfiguration.h
1 // $Id$
2 // Category: run
3 //
4 // Abstract class that takes care of creating  all user defined classes 
5 // that will be initialized and managed by Geant4 kernel (G4RunManager).
6 // It has one pure virtual method CreateUserConfiguration()
7 // that has to be be implemented by derived class.
8
9 #ifndef TG4V_RUN_CONFIGURATION_H
10 #define TG4V_RUN_CONFIGURATION_H
11
12 class TG4TrackingAction;
13 class TG4SteppingAction;
14
15 class G4VUserDetectorConstruction;
16 class G4VModularPhysicsList;
17 class G4VUserPrimaryGeneratorAction;
18 class G4UserRunAction;
19 class G4UserEventAction;
20 class G4UserStackingAction;
21 class G4RunManager;
22
23 class TG4VRunConfiguration
24 {
25   public:
26     TG4VRunConfiguration();
27     // --> protected
28     // TG4VRunConfiguration(const TG4VRunConfiguration& right);
29     virtual ~TG4VRunConfiguration();
30
31     // methods
32     void ConfigureRunManager(G4RunManager* runManager);
33
34     // get methods
35     G4VModularPhysicsList* GetPhysicsList() const;
36
37   protected:
38     TG4VRunConfiguration(const TG4VRunConfiguration& right);
39
40     // operators
41     TG4VRunConfiguration& operator=(const TG4VRunConfiguration& right);
42
43     // methods
44     virtual void CreateUserConfiguration() = 0;
45
46     // data members
47     G4VUserDetectorConstruction*    fDetectorConstruction; //det construction
48     G4VModularPhysicsList*          fPhysicsList;          //physics list
49     G4VUserPrimaryGeneratorAction*  fPrimaryGenerator;     //primary generator
50     G4UserRunAction*                fRunAction;            //run action
51     G4UserEventAction*              fEventAction;          //event action
52     TG4TrackingAction*              fTrackingAction;       //tracking action
53     TG4SteppingAction*              fSteppingAction;       //stepping action
54     G4UserStackingAction*           fStackingAction;       //stacking action
55 };
56
57 #endif //TG4V_RUN_CONFIGURATION_H
58