library: libEG #include "TParticle.h"

# TParticle

class description - source file - inheritance tree (.pdf)

## class TParticle : public TObject, public TAttLine, public TAtt3D

| Inheritance Chart:
`TObject`
`TAttLine`
`TAtt3D`
| <- | `TParticle` |

        public:

                              TParticle()
                              TParticle(Int_t pdg, Int_t status, Int_t mother1, Int_t mother2, Int_t daughter1, Int_t daughter2, Double_t px, Double_t py, Double_t pz, Double_t etot, Double_t vx, Double_t vy, Double_t vz, Double_t time)
                              TParticle(Int_t pdg, Int_t status, Int_t mother1, Int_t mother2, Int_t daughter1, Int_t daughter2, const TLorentzVector& p, const TLorentzVector& v)
                              TParticle(const TParticle& part)
                      virtual ~TParticle()
                        Int_t Beauty()
                        Int_t Charm()
               static TClass* Class()
                virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
                     Double_t Energy() const
                     Double_t Eta() const
                 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
                     Double_t GetCalcMass() const
                        Int_t GetDaughter(Int_t i) const
                        Int_t GetFirstDaughter() const
                        Int_t GetFirstMother() const
                        Int_t GetLastDaughter() const
                     Double_t GetMass()
                        Int_t GetMother(Int_t i) const
          virtual const char* GetName() const
                        Int_t GetNDaughters() const
                TParticlePDG* GetPDG(Int_t mode = 0)
                        Int_t GetPdgCode() const
                         void GetPolarisation(TVector3& v)
                        Int_t GetSecondMother() const
                        Int_t GetStatusCode() const
          virtual const char* GetTitle() const
                      Float_t GetWeight() const
              virtual TClass* IsA() const
                       Bool_t IsPrimary() const
                         void Momentum(TLorentzVector& v) const
                   TParticle& operator=(const TParticle&)
                     Double_t P() const
                 virtual void Paint(Option_t* option = "")
                     Double_t Phi() const
                 virtual void Print(Option_t* option = "") const
                         void ProductionVertex(TLorentzVector& v) const
                     Double_t Pt() const
                     Double_t Px() const
                     Double_t Py() const
                     Double_t Pz() const
                     Double_t R() const
                     Double_t Rho() const
                         void SetCalcMass(Double_t mass)
                         void SetDaughter(int i, int code)
                         void SetFirstDaughter(int code)
                         void SetFirstMother(int code)
                         void SetLastDaughter(int code)
                         void SetLastMother(int code)
                         void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
                         void SetMomentum(const TLorentzVector& p)
                         void SetMother(int i, int code)
                         void SetPolarisation(Double_t polx, Double_t poly, Double_t polz)
                         void SetPolarisation(const TVector3& v)
                         void SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t)
                         void SetProductionVertex(const TLorentzVector& v)
                         void SetStatusCode(int status)
                         void SetWeight(Float_t weight = 1)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Sizeof3D() const
                        Int_t Strangeness()
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
                     Double_t T() const
                     Double_t Theta() const
                     Double_t Vx() const
                     Double_t Vy() const
                     Double_t Vz() const

### Data Members

        protected:

                  Int_t fPdgCode      PDG code of the particle
                  Int_t fStatusCode   generation status code
                  Int_t fMother[2]    Indices of the mother particles
                  Int_t fDaughter[2]  Indices of the daughter particles
                Float_t fWeight       particle weight
               Double_t fCalcMass     Calculated mass
               Double_t fPx           x component of momentum
               Double_t fPy           y component of momentum
               Double_t fPz           z component of momentum
               Double_t fE            Energy
               Double_t fVx           x of production vertex
               Double_t fVy           y of production vertex
               Double_t fVz           z of production vertex
               Double_t fVt           t of production vertex
               Double_t fPolarTheta   Polar angle of polarisation
               Double_t fPolarPhi     azymutal angle of polarisation
          TParticlePDG* fParticlePDG  ! reference to the particle record in PDG database

## Class Description

TParticle() : fPdgCode(0), fStatusCode(0), fWeight(0),fCalcMass(0), fPx(0), fPy(0), fPz(0), fE(0), fVx(0), fVy(0), fVz(0), fVt(0), fPolarTheta(0), fPolarPhi(0)

TParticle(Int_t pdg, Int_t status, Int_t mother1, Int_t mother2, Int_t daughter1, Int_t daughter2, Double_t px, Double_t py, Double_t pz, Double_t etot, Double_t vx, Double_t vy, Double_t vz, Double_t time): fPdgCode(pdg), fStatusCode(status), fWeight(1.),fPx(px), fPy(py), fPz(pz), fE(etot), fVx(vx), fVy(vy), fVz(vz), fVt(time)

TParticle(Int_t pdg, Int_t status, Int_t mother1, Int_t mother2, Int_t daughter1, Int_t daughter2, const TLorentzVector &p, const TLorentzVector &v) : fPdgCode(pdg), fStatusCode(status), fWeight(1.),fPx(p.Px()), fPy(p.Py()), fPz(p.Pz()), fE(p.E()), fVx(v.X()), fVy(v.Y()), fVz(v.Z()), fVt(v.T())

TParticle(const TParticle &p) : TObject(p), TAttLine(p), TAtt3D(p)

     copy constructor

~TParticle()

Int_t DistancetoPrimitive(Int_t px, Int_t py)

    *-*-*-*-*-*-*-*Compute distance from point px,py to a primary track*-*-*-*
    *-*            ====================================================
    *-*
    *-*  Compute the closest distance of approach from point px,py to each segment
    *-*  of a track.
    *-*  The distance is computed in pixels units.
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void ExecuteEvent(Int_t, Int_t, Int_t)

    *-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
    *-*                  =========================================

const char* GetName() const

TParticlePDG* GetPDG(Int_t mode)

     returns a pointer to the TParticlePDG object using the pdgcode
     if mode == 0 (default) always get a fresh value for the pointer.
     if mode != 0 this function returns directly the previously
                  computed pointer from a previous call
     One can use mode=1 (faster) when the TParticle object is not part of a
     TClonesArray used in split mode in a Root TTree.

void GetPolarisation(TVector3 &v)

const char* GetTitle() const

void Paint(Option_t *option)

      Paint a primary track

void Print(Option_t *) const

      Print the internals of the primary vertex particle

    TParticlePDG* pdg = ((TParticle*)this)->GetPDG();

void SetPolarisation(Double_t polx, Double_t poly, Double_t polz)

void Sizeof3D() const

    *-*-*-*-*-*Return total X3D size of this primary*-*-*-*-*-*-*
    *-*        =====================================

void Streamer(TBuffer &R__b)

     Stream an object of class TParticle.

### Inline Functions

                  Int_t GetStatusCode() const
                  Int_t GetPdgCode() const
                  Int_t GetFirstMother() const
                  Int_t GetMother(Int_t i) const
                  Int_t GetSecondMother() const
                 Bool_t IsPrimary() const
                  Int_t GetFirstDaughter() const
                  Int_t GetDaughter(Int_t i) const
                  Int_t GetLastDaughter() const
               Double_t GetCalcMass() const
               Double_t GetMass()
                  Int_t GetNDaughters() const
                Float_t GetWeight() const
                  Int_t Beauty()
                  Int_t Charm()
                  Int_t Strangeness()
                   void Momentum(TLorentzVector& v) const
                   void ProductionVertex(TLorentzVector& v) const
               Double_t Vx() const
               Double_t Vy() const
               Double_t Vz() const
               Double_t T() const
               Double_t R() const
               Double_t Rho() const
               Double_t Px() const
               Double_t Py() const
               Double_t Pz() const
               Double_t P() const
               Double_t Pt() const
               Double_t Energy() const
               Double_t Eta() const
               Double_t Phi() const
               Double_t Theta() const
                   void SetFirstMother(int code)
                   void SetMother(int i, int code)
                   void SetLastMother(int code)
                   void SetFirstDaughter(int code)
                   void SetDaughter(int i, int code)
                   void SetLastDaughter(int code)
                   void SetCalcMass(Double_t mass)
                   void SetPolarisation(const TVector3& v)
                   void SetStatusCode(int status)
                   void SetWeight(Float_t weight = 1)
                   void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
                   void SetMomentum(const TLorentzVector& p)
                   void SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t)
                   void SetProductionVertex(const TLorentzVector& v)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
             TParticle& operator=(const TParticle&)

Author: Rene Brun, Federico Carminati 26/04/99
Last update: root/eg:$Name: $:$Id: TParticle.cxx,v 1.10 2003/09/01 09:39:39 brun Exp $