TMCParticle.h

Go to the documentation of this file.
00001 // @(#)root/pythia6:$Id: TMCParticle.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Piotr Golonka   17/09/97
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
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;            // status of particle       ( LUJETS K[1] )
00031    Int_t    fKF;            // KF flavour code          ( LUJETS K[2] )
00032    Int_t    fParent;        // parrent's id             ( LUJETS K[3] )
00033    Int_t    fFirstChild;    // id of first child        ( LUJETS K[4] )
00034    Int_t    fLastChild;     // id of last  child        ( LUJETS K[5] )
00035 
00036    Float_t  fPx;            // X momenta [GeV/c]        ( LUJETS P[1] )
00037    Float_t  fPy;            // Y momenta [GeV/c]        ( LUJETS P[2] )
00038    Float_t  fPz;            // Z momenta [GeV/c]        ( LUJETS P[3] )
00039    Float_t  fEnergy;        // Energy    [GeV]          ( LUJETS P[4] )
00040    Float_t  fMass;          // Mass      [Gev/c^2]      ( LUJETS P[5] )
00041 
00042    Float_t  fVx;            // X vertex  [mm]           ( LUJETS V[1] )
00043    Float_t  fVy;            // Y vertex  [mm]           ( LUJETS V[2] )
00044    Float_t  fVz;            // Z vertex  [mm]           ( LUJETS V[3] )
00045    Float_t  fTime;          // time of procuction [mm/c]( LUJETS V[4] )
00046    Float_t  fLifetime;      // proper lifetime [mm/c]   ( LUJETS V[5] )
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)  // LUJETS particles data record.
00121 };
00122 
00123 #endif

Generated on Tue Jul 5 14:45:15 2011 for ROOT_528-00b_version by  doxygen 1.5.1