]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliParticleGun.h
corections in XML implementation described
[u/mrichter/AliRoot.git] / AliGeant4 / AliParticleGun.h
CommitLineData
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
17class G4Event;
18class AliParticleGunMessenger;
19
20class 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
50inline G4int AliParticleGun::GetNofGunParticles() const
51{ return fGunParticlesVector.entries(); }
52
53#endif //ALI_PARTICLE_GUN_H
54
55
56
57
58
59
60