Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

GParticle.h

Go to the documentation of this file.
00001 
00002 // $ID:  GParticle.h,v 1.2 1998/09/01 16:25 gmieg Exp $
00003 //
00004 // GParticle.h
00005 //
00006 // ROOT Particle table
00007 // Taken from Alice Experiment
00008 //
00009 // Author:  G. Irwin 9/98
00011 
00012 #ifndef ROOT_GParticle
00013 #define ROOT_GParticle
00014 
00015 #include <string.h>
00016 
00017 #include "TMath.h"
00018 #include "TObject.h"
00019 
00020 const Int_t Keep_Bit      = 1;
00021 const Int_t Children_Bit  = 2;
00022 const Int_t Done_Bit      = 4;
00023 
00024 class GParticle : public TObject {
00025 
00026 private:
00027 
00028    Int_t    fKS;            // status of particle (LUJETS K[1])
00029    Int_t    fKF;            // PDG particle type
00030    Int_t    fParent;        // parent id 
00031    Int_t    fFirstChild;    // id of first child 
00032    Int_t    fLastChild;     // id of last  child 
00033 
00034    Float_t  fPx;            // X momentum [GeV/c]
00035    Float_t  fPy;            // Y momentum [GeV/c]
00036    Float_t  fPz;            // Z momentum [GeV/c]
00037    Float_t  fEnergy;        // Energy    [GeV]
00038    Float_t  fMass;          // Mass      [Gev/c^2]
00039 
00040    Float_t  fVx;            // X vertex  [cm]
00041    Float_t  fVy;            // Y vertex  [cm]
00042    Float_t  fVz;            // Z vertex  [cm]
00043 
00044    Float_t  fPolx;          // X component of polarisation 
00045    Float_t  fPoly;          // Y component of polarisation 
00046    Float_t  fPolz;          // Z component of polarisation 
00047 
00048    Float_t  fTime;          // time of production
00049    Float_t  fLifeTime;      // proper lifetime
00050    Float_t  fProcessTime;   // Cpu Time to process this track
00051 
00052    char     fOrigin[11];    // generation mechanism
00053 
00054 public:
00055    GParticle();
00056 
00057    GParticle(const Int_t kS, const Int_t kF, const Int_t parent,
00058              const Int_t firstchild, const Int_t lastchild,
00059              const Float_t px, const Float_t py, const Float_t pz,
00060              const Float_t energy, const Float_t mass,
00061              const Float_t vx, const Float_t vy, const Float_t vz, 
00062              const Float_t polx, const Float_t poly, const Float_t polz,
00063              const Float_t time, const Float_t lifetime,
00064              const char *Origin="Unknown");
00065 
00066    virtual ~GParticle();
00067 
00068    inline Int_t     GetKS()          const {return fKS;}
00069    inline Int_t     GetKF()          const {return fKF;}
00070    inline Int_t     GetParent()      const {return fParent;}
00071    inline Int_t     GetFirstChild()  const {return fFirstChild;}
00072    inline Int_t     GetLastChild()   const {return fLastChild;}
00073 
00074    inline Float_t   GetPx()          const {return fPx;}
00075    inline Float_t   GetPy()          const {return fPy;}
00076    inline Float_t   GetPz()          const {return fPz;}
00077 
00078    inline Float_t   GetPolx()        const {return fPolx;}
00079    inline Float_t   GetPoly()        const {return fPoly;}
00080    inline Float_t   GetPolz()        const {return fPolz;}
00081 
00082    inline Float_t   GetEnergy()      const {return fEnergy;}
00083    inline Float_t   GetMass()        const {return fMass;}
00084    inline Float_t   GetMomentum()    const {return
00085                                   TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz);}
00086    inline void      GetOrigin(char *Origin) {strcpy(Origin,fOrigin);}
00087    inline Float_t   GetPT() const {return TMath::Sqrt(fPx*fPx+fPy*fPy);}
00088 
00089    inline Float_t   GetVx()          const {return fVx;}
00090    inline Float_t   GetVy()          const {return fVy;}
00091    inline Float_t   GetVz()          const {return fVz;}
00092    inline Float_t   GetTime()        const {return fTime;}
00093    inline Float_t   GetLifeTime()    const {return fLifeTime;}
00094    inline Float_t   GetProcessTime() const {return fProcessTime;}
00095    virtual const Text_t *GetName()   const;
00096    virtual const Text_t *GetTitle()  const;
00097 
00098    inline void      SetKS(Int_t KS)  {fKS=KS;}
00099    inline void      SetFirstChild(const Int_t firstchild)
00100                                                {fFirstChild=firstchild;}
00101    inline void      SetLastChild(const Int_t lastchild)
00102                                                  {fLastChild=lastchild;}
00103    inline void      SetParent(const Int_t parent)      {fParent=parent;}
00104    inline void      SetProcessTime(Float_t cputime)
00105                                                  {fProcessTime=cputime;}
00106 
00107 ClassDef(GParticle,1)                    // LUJETS particles data record
00108 };
00109 
00110 #endif                                                 // ROOT_GParticle

Generated on Mon Feb 15 11:06:46 2010 for loon by  doxygen 1.3.9.1