00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ROOT_TPrimary
00022 #define ROOT_TPrimary
00023
00024 #ifndef ROOT_TNamed
00025 #include "TNamed.h"
00026 #endif
00027 #ifndef ROOT_TAttLine
00028 #include "TAttLine.h"
00029 #endif
00030 #ifndef ROOT_TAtt3D
00031 #include "TAtt3D.h"
00032 #endif
00033 #ifndef ROOT_X3DBuffer
00034 #include "X3DBuffer.h"
00035 #endif
00036
00037 class TAttParticle;
00038
00039 class TPrimary : public TObject, public TAttLine, public TAtt3D {
00040
00041 protected:
00042 Int_t fPart;
00043 Int_t fFirstMother;
00044 Int_t fSecondMother;
00045 Int_t fGeneration;
00046 Double_t fPx;
00047 Double_t fPy;
00048 Double_t fPz;
00049 Double_t fEtot;
00050 Double_t fVx;
00051 Double_t fVy;
00052 Double_t fVz;
00053 Double_t fTime;
00054 Double_t fTimeEnd;
00055 TString fType;
00056
00057 public:
00058 TPrimary();
00059 TPrimary(Int_t part, Int_t first, Int_t second, Int_t gener,
00060 Double_t px, Double_t py, Double_t pz,
00061 Double_t etot, Double_t vx, Double_t vy, Double_t vz,
00062 Double_t time, Double_t timend, const char *type = "");
00063 virtual ~TPrimary();
00064 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
00065 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
00066 virtual const TAttParticle *GetParticle() const;
00067 virtual const char *GetName() const;
00068 virtual const char *GetTitle() const;
00069 virtual Int_t GetFirstMother() const { return fFirstMother; }
00070 virtual Int_t GetSecondMother() const { return fSecondMother; }
00071 virtual Int_t GetGeneration() const { return fGeneration; }
00072 virtual Double_t GetXMomentum() const { return fPx; }
00073 virtual Double_t GetYMomentum() const { return fPy; }
00074 virtual Double_t GetZMomentum() const { return fPz; }
00075 virtual Double_t GetTotalEnergy() const { return fEtot; }
00076 virtual Double_t GetXPosition() const { return fVx; }
00077 virtual Double_t GetYPosition() const { return fVy; }
00078 virtual Double_t GetZPosition() const { return fVz; }
00079 virtual Double_t GetTime() const { return fTime; }
00080 virtual Double_t GetTimeEnd() const { return fTimeEnd; }
00081 virtual const char *GetType() const { return fType.Data(); }
00082 virtual void Paint(Option_t *option = "");
00083 virtual void Print(Option_t *option = "") const;
00084 virtual void Sizeof3D() const;
00085
00086 ClassDef(TPrimary,1)
00087 };
00088
00089 #endif