4 // Author: I. Hrivnacova
6 // Class AliParticleGunMessenger
7 // -----------------------------
8 // Messenger class that defines commands for AliParticleGun.
10 #ifndef ALI_PARTICLE_GUN_MESSENGER_H
11 #define ALI_PARTICLE_GUN_MESSENGER_H
13 #include <G4UImessenger.hh>
18 class G4ParticleTable;
21 class G4UIcmdWithoutParameter;
22 class G4UIcmdWithAString;
23 class G4UIcmdWithADoubleAndUnit;
24 class G4UIcmdWithAnInteger;
25 class G4UIcmdWith3Vector;
26 class G4UIcmdWith3VectorAndUnit;
28 class AliParticleGunMessenger: public G4UImessenger
31 AliParticleGunMessenger(AliParticleGun* gun);
33 // AliParticleGunMessenger();
34 // AliParticleGunMessenger(const AliParticleGunMessenger& right);
35 virtual ~AliParticleGunMessenger();
38 virtual void SetNewValue(G4UIcommand* command, G4String newValues);
39 virtual G4String GetCurrentValue(G4UIcommand* command);
42 AliParticleGunMessenger();
43 AliParticleGunMessenger(const AliParticleGunMessenger& right);
46 AliParticleGunMessenger& operator=(
47 const AliParticleGunMessenger& right);
51 AliParticleGun* fGun; //associated class
52 AliGunParticle* fParticle; //current AliGunParticle
53 G4ParticleTable* fParticleTable; //G4ParticleTable
55 // commands data members
56 G4UIdirectory* fGunDirectory; //command directory
57 G4UIcmdWithoutParameter* fListAvailableCmd; //command: listAvailable
58 G4UIcmdWithoutParameter* fListCurrentCmd; //command: listCurrent
59 G4UIcmdWithAString* fParticleCmd; //command: particle
60 G4UIcmdWith3VectorAndUnit* fMomentumCmd; //command: momentum
61 G4UIcmdWith3VectorAndUnit* fPositionCmd; //command: position
62 G4UIcmdWithADoubleAndUnit* fTimeCmd; //command: time
63 G4UIcmdWith3Vector* fPolarizationCmd; //command: polarization
64 G4UIcmdWith3Vector* fDirectionCmd; //command: direction
65 G4UIcmdWithADoubleAndUnit* fKinEnergyCmd; //command: kinEnergy
66 G4UIcmdWithoutParameter* fListCmd; //command: list
67 G4UIcmdWithoutParameter* fAddParticleCmd; //command: addParticle
68 G4UIcmdWithAnInteger* fRemoveParticleCmd; //command: removeParticle
69 G4UIcmdWithoutParameter* fResetCmd; //command: reset
72 #endif //ALI_PARTICLE_GUN_MESSENGER_H