4 // Messenger class that defines commands for
5 // geometry, physics and step managers
7 #ifndef TG4_MESSENGER_H
8 #define TG4_MESSENGER_H
10 #include <G4UImessenger.hh>
13 class TG4GeometryManager;
14 class TG4PhysicsManager;
17 class G4UIcmdWithoutParameter;
18 class G4UIcmdWithABool;
20 class TG4Messenger: public G4UImessenger
23 TG4Messenger(TG4GeometryManager* geometryManager,
24 TG4PhysicsManager* physicsManager,
25 TG4StepManager* stepManager);
28 // TG4Messenger(const TG4Messenger& right);
29 virtual ~TG4Messenger();
32 virtual void SetNewValue(G4UIcommand* command, G4String string);
36 TG4Messenger(const TG4Messenger& right);
39 TG4Messenger& operator=(const TG4Messenger& right);
43 TG4GeometryManager* fGeometryManager; //geometry manager
44 TG4PhysicsManager* fPhysicsManager; //physics manager
45 TG4StepManager* fStepManager; //step manager
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
56 #endif //TG4_MESSENGER_H