4 // Messenger class that defines commands for AliParticleGun.
6 #ifndef ALI_PARTICLE_GUN_MESSENGER_H
7 #define ALI_PARTICLE_GUN_MESSENGER_H
9 #include <G4UImessenger.hh>
14 class G4ParticleTable;
17 class G4UIcmdWithoutParameter;
18 class G4UIcmdWithAString;
19 class G4UIcmdWithADoubleAndUnit;
20 class G4UIcmdWithAnInteger;
21 class G4UIcmdWith3Vector;
22 class G4UIcmdWith3VectorAndUnit;
24 class AliParticleGunMessenger: public G4UImessenger
27 AliParticleGunMessenger(AliParticleGun* gun);
29 // AliParticleGunMessenger();
30 // AliParticleGunMessenger(const AliParticleGunMessenger& right);
31 virtual ~AliParticleGunMessenger();
34 virtual void SetNewValue(G4UIcommand* command, G4String newValues);
35 virtual G4String GetCurrentValue(G4UIcommand* command);
38 AliParticleGunMessenger();
39 AliParticleGunMessenger(const AliParticleGunMessenger& right);
42 AliParticleGunMessenger& operator=(
43 const AliParticleGunMessenger& right);
47 AliParticleGun* fGun; //associated class
48 AliGunParticle* fParticle; //current AliGunParticle
49 G4ParticleTable* fParticleTable; //G4ParticleTable
51 // commands data members
52 G4UIdirectory* fGunDirectory; //command directory
53 G4UIcmdWithoutParameter* fListAvailableCmd; //command: listAvailable
54 G4UIcmdWithoutParameter* fListCurrentCmd; //command: listCurrent
55 G4UIcmdWithAString* fParticleCmd; //command: particle
56 G4UIcmdWith3VectorAndUnit* fMomentumCmd; //command: momentum
57 G4UIcmdWith3VectorAndUnit* fPositionCmd; //command: position
58 G4UIcmdWithADoubleAndUnit* fTimeCmd; //command: time
59 G4UIcmdWith3Vector* fPolarizationCmd; //command: polarization
60 G4UIcmdWith3Vector* fDirectionCmd; //command: direction
61 G4UIcmdWithADoubleAndUnit* fKinEnergyCmd; //command: kinEnergy
62 G4UIcmdWithoutParameter* fListCmd; //command: list
63 G4UIcmdWithoutParameter* fAddParticleCmd; //command: addParticle
64 G4UIcmdWithAnInteger* fRemoveParticleCmd; //command: removeParticle
65 G4UIcmdWithoutParameter* fResetCmd; //command: reset
68 #endif //ALI_PARTICLE_GUN_MESSENGER_H