]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4VRunConfiguration.h
Initial version
[u/mrichter/AliRoot.git] / TGeant4 / TG4VRunConfiguration.h
CommitLineData
2817d3e2 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
12class G4VUserDetectorConstruction;
20bf4ef5 13class G4VModularPhysicsList;
2817d3e2 14class G4VUserPrimaryGeneratorAction;
15class G4UserRunAction;
16class G4UserEventAction;
17class G4UserTrackingAction;
18class G4UserSteppingAction;
19class G4UserStackingAction;
20class G4RunManager;
21
22class TG4VRunConfiguration
23{
24 public:
25 TG4VRunConfiguration();
26 // --> protected
27 // TG4VRunConfiguration(const TG4VRunConfiguration& right);
28 virtual ~TG4VRunConfiguration();
29
30 // methods
31 void ConfigureRunManager(G4RunManager* runManager);
32
20bf4ef5 33 // get methods
34 G4VModularPhysicsList* GetPhysicsList() const;
35
2817d3e2 36 protected:
37 TG4VRunConfiguration(const TG4VRunConfiguration& right);
38
39 // operators
40 TG4VRunConfiguration& operator=(const TG4VRunConfiguration& right);
41
42 // methods
43 virtual void CreateUserConfiguration() = 0;
44
45 // data members
46 G4VUserDetectorConstruction* fDetectorConstruction; //det construction
20bf4ef5 47 G4VModularPhysicsList* fPhysicsList; //physics list
2817d3e2 48 G4VUserPrimaryGeneratorAction* fPrimaryGenerator; //primary generator
49 G4UserRunAction* fRunAction; //run action
50 G4UserEventAction* fEventAction; //event action
51 G4UserTrackingAction* fTrackingAction; //tracking action
52 G4UserSteppingAction* fSteppingAction; //stepping action
53 G4UserStackingAction* fStackingAction; //stacking action
54};
55
56#endif //TG4V_RUN_CONFIGURATION_H
57