00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TMCParticle
00013 #define ROOT_TMCParticle
00014
00015 #ifndef ROOT_TObject
00016 #include "TObject.h"
00017 #endif
00018 #ifndef ROOT_TAttLine
00019 #include "TAttLine.h"
00020 #endif
00021 #ifndef ROOT_TPrimary
00022 #include "TPrimary.h"
00023 #endif
00024
00025
00026 class TMCParticle : public TObject, public TAttLine {
00027
00028 private:
00029
00030 Int_t fKS;
00031 Int_t fKF;
00032 Int_t fParent;
00033 Int_t fFirstChild;
00034 Int_t fLastChild;
00035
00036 Float_t fPx;
00037 Float_t fPy;
00038 Float_t fPz;
00039 Float_t fEnergy;
00040 Float_t fMass;
00041
00042 Float_t fVx;
00043 Float_t fVy;
00044 Float_t fVz;
00045 Float_t fTime;
00046 Float_t fLifetime;
00047
00048
00049 public:
00050 TMCParticle() : fKS(0), fKF(0), fParent(0), fFirstChild(0),
00051 fLastChild(0), fPx(0), fPy(0), fPz(0), fEnergy(0), fMass(0),
00052 fVx(0), fVy(0), fVz(0), fTime(0), fLifetime(0) {}
00053
00054 TMCParticle(Int_t kS, Int_t kF, Int_t parent,
00055 Int_t firstchild, Int_t lastchild,
00056 Float_t px, Float_t py, Float_t pz,
00057 Float_t energy, Float_t mass,
00058 Float_t vx, Float_t vy, Float_t vz,
00059 Float_t time, Float_t lifetime) :
00060
00061 fKS(kS),
00062 fKF(kF),
00063 fParent(parent),
00064 fFirstChild(firstchild),
00065 fLastChild(lastchild),
00066 fPx(px),
00067 fPy(py),
00068 fPz(pz),
00069 fEnergy(energy),
00070 fMass(mass),
00071 fVx(vx),
00072 fVy(vy),
00073 fVz(vz),
00074 fTime(time),
00075 fLifetime(lifetime) { }
00076
00077
00078 virtual ~TMCParticle() { }
00079
00080 Int_t GetKS() const {return fKS;}
00081 Int_t GetKF() const {return fKF;}
00082 Int_t GetParent() const {return fParent;}
00083 Int_t GetFirstChild() const {return fFirstChild;}
00084 Int_t GetLastChild() const {return fLastChild;}
00085
00086 Float_t GetPx() const {return fPx;}
00087 Float_t GetPy() const {return fPy;}
00088 Float_t GetPz() const {return fPz;}
00089 Float_t GetEnergy() const {return fEnergy;}
00090 Float_t GetMass() const {return fMass;}
00091
00092 Float_t GetVx() const {return fVx;}
00093 Float_t GetVy() const {return fVy;}
00094 Float_t GetVz() const {return fVz;}
00095 Float_t GetTime() const {return fTime;}
00096 Float_t GetLifetime() const {return fLifetime;}
00097 virtual const char *GetName() const;
00098
00099 virtual void SetKS(Int_t kS) {fKS=kS;}
00100 virtual void SetKF(Int_t kF) {fKF=kF;}
00101 virtual void SetParent(Int_t parent) {fParent=parent;}
00102 virtual void SetFirstChild(Int_t first) {fFirstChild=first;}
00103 virtual void SetLastChild(Int_t last) {fLastChild=last;}
00104
00105 virtual void SetPx(Float_t px) {fPx=px;}
00106 virtual void SetPy(Float_t py) {fPy=py;}
00107 virtual void SetPz(Float_t pz) {fPz=pz;}
00108 virtual void SetEnergy(Float_t energy) {fEnergy=energy;}
00109 virtual void SetMass(Float_t mass) {fMass=mass;}
00110
00111 virtual void SetVx(Float_t vx) {fVx=vx;}
00112 virtual void SetVy(Float_t vy) {fVy=vy;}
00113 virtual void SetVz(Float_t vz) {fVz=vz;}
00114 virtual void SetTime(Float_t time) {fTime=time;}
00115 virtual void SetLifetime(Float_t lifetime) {fLifetime=lifetime;}
00116
00117
00118 virtual void ls(Option_t* option) const;
00119
00120 ClassDef(TMCParticle,1)
00121 };
00122
00123 #endif