]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4Messenger.h
new files for merging/digitization
[u/mrichter/AliRoot.git] / TGeant4 / TG4Messenger.h
1 // $Id$
2 // Category: run
3 //
4 // Messenger class that defines commands for 
5 // geometry, physics and step managers
6
7 #ifndef TG4_MESSENGER_H
8 #define TG4_MESSENGER_H 
9
10 #include <G4UImessenger.hh>
11 #include <globals.hh>
12
13 class TG4GeometryManager;
14 class TG4PhysicsManager;
15 class TG4StepManager;
16
17 class G4UIcmdWithoutParameter;
18 class G4UIcmdWithABool;
19
20 class TG4Messenger: public G4UImessenger
21 {
22   public:
23     TG4Messenger(TG4GeometryManager* geometryManager, 
24                  TG4PhysicsManager* physicsManager, 
25                  TG4StepManager* stepManager);
26     // --> protected   
27     // TG4Messenger();
28     // TG4Messenger(const TG4Messenger& right);
29     virtual ~TG4Messenger();
30    
31     // methods 
32     virtual void SetNewValue(G4UIcommand* command, G4String string);
33     
34   protected:
35     TG4Messenger();  
36     TG4Messenger(const TG4Messenger& right);
37
38     // operators
39     TG4Messenger& operator=(const TG4Messenger& right);
40
41   private:
42     // data members
43     TG4GeometryManager*       fGeometryManager; //geometry manager
44     TG4PhysicsManager*        fPhysicsManager;  //physics manager
45     TG4StepManager*           fStepManager;     //step manager
46     
47     G4UIcmdWithABool*  fSetEMCmd;             //setEM command   
48     G4UIcmdWithABool*  fSetOpticalCmd;        //setOptical command   
49     G4UIcmdWithABool*  fSetHadronCmd;         //setHadron command   
50     G4UIcmdWithABool*  fSetSpecialCutsCmd;    //setSpecialCuts command   
51     G4UIcmdWithABool*  fSetSpecialControlsCmd;//setSpecialControls command   
52     G4UIcmdWithoutParameter*  fProcessActivationCmd; //.
53                                               //setProcessActivation command    
54 };
55
56 #endif //TG4_MESSENGER_H