4 // Author: I. Hrivnacova
8 // Messenger class that defines commands for
9 // geometry, physics and step managers.
11 #ifndef TG4_MESSENGER_H
12 #define TG4_MESSENGER_H
14 #include <G4UImessenger.hh>
17 class TG4GeometryManager;
18 class TG4PhysicsManager;
21 class G4UIcmdWithoutParameter;
22 class G4UIcmdWithABool;
23 class G4UIcmdWithAString;
25 class TG4Messenger: public G4UImessenger
28 TG4Messenger(TG4GeometryManager* geometryManager,
29 TG4PhysicsManager* physicsManager,
30 TG4StepManager* stepManager);
33 // TG4Messenger(const TG4Messenger& right);
34 virtual ~TG4Messenger();
37 virtual void SetNewValue(G4UIcommand* command, G4String string);
41 TG4Messenger(const TG4Messenger& right);
44 TG4Messenger& operator=(const TG4Messenger& right);
48 TG4GeometryManager* fGeometryManager; //geometry manager
49 TG4PhysicsManager* fPhysicsManager; //physics manager
50 TG4StepManager* fStepManager; //step manager
52 G4UIcmdWithABool* fSetEMCmd; //setEM command
53 G4UIcmdWithABool* fSetMuonCmd; //setMuon command
54 G4UIcmdWithABool* fSetHadronCmd; //setHadron command
55 G4UIcmdWithABool* fSetOpticalCmd; //setOptical command
56 G4UIcmdWithABool* fSetSpecialCutsCmd; //setSpecialCuts command
57 G4UIcmdWithABool* fSetSpecialControlsCmd;//setSpecialControls command
58 G4UIcmdWithoutParameter* fProcessActivationCmd; //.
59 //setProcessActivation command
60 G4UIcmdWithoutParameter* fPrintProcessMCMapCmd; //.
61 //printProcessMCMap command
62 G4UIcmdWithoutParameter* fPrintProcessControlMapCmd; //.
63 //printProcessControlsMap command
64 G4UIcmdWithAString* fPrintVolumeLimitsCmd; //.
65 //printVolumeLimits command
66 G4UIcmdWithoutParameter* fPrintGeneralCutsCmd; //.
67 //printGeneralCuts command
68 G4UIcmdWithoutParameter* fPrintGeneralControlsCmd; //.
69 //printGeneralControls command
72 #endif //TG4_MESSENGER_H