StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHepParticle.h
1 // @(#)STAR/eg:$Id: StHepParticle.h,v 1.4 2009/06/22 23:59:54 perev Exp $
2 // Author: V.Perev Mar/2009
4 // //
5 // StHepParticle: defines equivalent of HEPEVT particle //
7 
8 #ifndef ROOT_StHepParticle
9 #define ROOT_StHepParticle
10 #include "StGenParticle.h"
11 
13 friend class StHepParticleMaster;
14 
15 public:
16  // ****** constructors and destructor
17  StHepParticle(int idx=0);
18 
19  virtual ~StHepParticle(){;}
20 
21 public:
22 
23 virtual int GetStatusCode() const;
24 virtual int GetPdgCode() const;
25 virtual const StHepParticle *GetMother(int i=0) const;
26 virtual const StHepParticle *GetDaughter(int i) const;
27 virtual double GetMass () const;
28 virtual int GetNDaughters () const;
29 virtual void Momentum(double p4[4]) const ;
30 virtual void Vertex(double v[3]) const;
31 virtual double Time() const;
32 protected:
33 
34 };
35 
41 
42 class my_hepevt;
44 friend class StHepParticle;
45 
46 public:
47  StHepParticleMaster(void *addr);
48 virtual ~StHepParticleMaster();
49 static const StHepParticleMaster *Instance();
50 virtual const StHepParticle *operator()(int idx) const;
51 void Update() ;
52 
53 private:
54 
55 static my_hepevt *mgMyHepevt;
56 static StHepParticleMaster* mgInst;
57 };
58 
59 #endif
60 
Abstract base class for particles related to common /HEPEVT/.