]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliParticleGunMessenger.h
Add tmevsin and mevsim libraries.
[u/mrichter/AliRoot.git] / AliGeant4 / AliParticleGunMessenger.h
1 // $Id$
2 // Category: event
3 //
4 // Messenger class that defines commands for AliParticleGun.
5
6 #ifndef ALI_PARTICLE_GUN_MESSENGER_H
7 #define ALI_PARTICLE_GUN_MESSENGER_H
8
9 #include <G4UImessenger.hh>
10 #include <globals.hh>
11
12 class AliParticleGun;
13 class AliGunParticle;
14 class G4ParticleTable;
15 class G4UIcommand;
16 class G4UIdirectory;
17 class G4UIcmdWithoutParameter;
18 class G4UIcmdWithAString;
19 class G4UIcmdWithADoubleAndUnit;
20 class G4UIcmdWithAnInteger;
21 class G4UIcmdWith3Vector;
22 class G4UIcmdWith3VectorAndUnit;
23
24 class AliParticleGunMessenger: public G4UImessenger
25 {
26   public:
27     AliParticleGunMessenger(AliParticleGun* gun);
28     // --> protected
29     // AliParticleGunMessenger();
30     // AliParticleGunMessenger(const AliParticleGunMessenger& right);
31     virtual ~AliParticleGunMessenger();
32
33     // methods
34     virtual void SetNewValue(G4UIcommand* command, G4String newValues);
35     virtual G4String GetCurrentValue(G4UIcommand* command);
36
37   protected:
38     AliParticleGunMessenger();
39     AliParticleGunMessenger(const AliParticleGunMessenger& right);
40
41     // operators
42     AliParticleGunMessenger& operator=(
43                             const AliParticleGunMessenger& right);
44
45   private:
46     // data members
47     AliParticleGun*   fGun;           //associated class
48     AliGunParticle*   fParticle;      //current AliGunParticle
49     G4ParticleTable*  fParticleTable; //G4ParticleTable
50  
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
66 };
67
68 #endif //ALI_PARTICLE_GUN_MESSENGER_H
69
70