]>
Commit | Line | Data |
---|---|---|
676fb573 | 1 | // $Id$ |
2 | // Category: event | |
3 | // | |
4 | // Particle gun that can be interactively composed by a user. | |
5 | ||
6 | #ifndef ALI_PARTICLE_GUN_H | |
7 | #define ALI_PARTICLE_GUN_H | |
8 | ||
9 | #include "AliGunParticle.h" | |
10 | ||
11 | #include <G4VPrimaryGenerator.hh> | |
12 | #include <G4PrimaryVertex.hh> | |
13 | #include <globals.hh> | |
14 | ||
15 | #include <g4rw/tpordvec.h> | |
16 | ||
17 | class G4Event; | |
18 | class AliParticleGunMessenger; | |
19 | ||
20 | class AliParticleGun : public G4VPrimaryGenerator | |
21 | { | |
22 | typedef G4RWTPtrOrderedVector<AliGunParticle> AliGunParticleVector; | |
23 | ||
24 | public: | |
25 | AliParticleGun(); | |
26 | AliParticleGun(const AliParticleGun &right); | |
27 | virtual ~AliParticleGun(); | |
28 | ||
29 | // operators | |
30 | AliParticleGun& operator=(const AliParticleGun& right); | |
31 | ||
32 | // methods | |
33 | void AddParticle(AliGunParticle* particle); | |
34 | void RemoveParticle(G4int iParticle); | |
35 | virtual void GeneratePrimaryVertex(G4Event* evt); | |
36 | void Reset(); | |
37 | void List(); | |
38 | ||
39 | // get methods | |
40 | G4int GetNofGunParticles() const; | |
41 | ||
42 | private: | |
43 | // data members | |
44 | AliGunParticleVector fGunParticlesVector; //vector of AliGunParticle | |
45 | AliParticleGunMessenger* fMessenger; //messenger | |
46 | }; | |
47 | ||
48 | // inline methods | |
49 | ||
50 | inline G4int AliParticleGun::GetNofGunParticles() const | |
51 | { return fGunParticlesVector.entries(); } | |
52 | ||
53 | #endif //ALI_PARTICLE_GUN_H | |
54 | ||
55 | ||
56 | ||
57 | ||
58 | ||
59 | ||
60 |