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