ROOT logo
// @(#)root/pythia6:$Id: TMCParticle.h 20882 2007-11-19 11:31:26Z rdm $
// Author: Piotr Golonka   17/09/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TMCParticle
#define ROOT_TMCParticle

#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TPrimary
#include "TPrimary.h"
#endif


class TMCParticle : public TObject, public TAttLine {

private:

   Int_t    fKS;            // status of particle       ( LUJETS K[1] )
   Int_t    fKF;            // KF flavour code          ( LUJETS K[2] )
   Int_t    fParent;        // parrent's id             ( LUJETS K[3] )
   Int_t    fFirstChild;    // id of first child        ( LUJETS K[4] )
   Int_t    fLastChild;     // id of last  child        ( LUJETS K[5] )

   Float_t  fPx;            // X momenta [GeV/c]        ( LUJETS P[1] )
   Float_t  fPy;            // Y momenta [GeV/c]        ( LUJETS P[2] )
   Float_t  fPz;            // Z momenta [GeV/c]        ( LUJETS P[3] )
   Float_t  fEnergy;        // Energy    [GeV]          ( LUJETS P[4] )
   Float_t  fMass;          // Mass      [Gev/c^2]      ( LUJETS P[5] )

   Float_t  fVx;            // X vertex  [mm]           ( LUJETS V[1] )
   Float_t  fVy;            // Y vertex  [mm]           ( LUJETS V[2] )
   Float_t  fVz;            // Z vertex  [mm]           ( LUJETS V[3] )
   Float_t  fTime;          // time of procuction [mm/c]( LUJETS V[4] )
   Float_t  fLifetime;      // proper lifetime [mm/c]   ( LUJETS V[5] )


public:
   TMCParticle() : fKS(0), fKF(0), fParent(0), fFirstChild(0),
     fLastChild(0), fPx(0), fPy(0), fPz(0), fEnergy(0), fMass(0),
     fVx(0), fVy(0), fVz(0), fTime(0), fLifetime(0) {}

            TMCParticle(Int_t kS, Int_t kF, Int_t parent,
                        Int_t firstchild, Int_t lastchild,
                        Float_t px, Float_t py, Float_t pz,
                        Float_t energy, Float_t mass,
                        Float_t vx, Float_t vy, Float_t vz,
                        Float_t time, Float_t lifetime) :

               fKS(kS),
               fKF(kF),
               fParent(parent),
               fFirstChild(firstchild),
               fLastChild(lastchild),
               fPx(px),
               fPy(py),
               fPz(pz),
               fEnergy(energy),
               fMass(mass),
               fVx(vx),
               fVy(vy),
               fVz(vz),
               fTime(time),
               fLifetime(lifetime) { }


   virtual             ~TMCParticle() { }

   Int_t       GetKS() const {return fKS;}
   Int_t       GetKF() const {return fKF;}
   Int_t       GetParent() const {return fParent;}
   Int_t       GetFirstChild() const {return fFirstChild;}
   Int_t       GetLastChild() const {return fLastChild;}

   Float_t     GetPx() const {return fPx;}
   Float_t     GetPy() const {return fPy;}
   Float_t     GetPz() const {return fPz;}
   Float_t     GetEnergy() const {return fEnergy;}
   Float_t     GetMass() const {return fMass;}

   Float_t     GetVx() const {return fVx;}
   Float_t     GetVy() const {return fVy;}
   Float_t     GetVz() const {return fVz;}
   Float_t     GetTime() const {return fTime;}
   Float_t     GetLifetime() const {return fLifetime;}
   virtual const char     *GetName() const;

   virtual void        SetKS(Int_t kS) {fKS=kS;}
   virtual void        SetKF(Int_t kF) {fKF=kF;}
   virtual void        SetParent(Int_t parent) {fParent=parent;}
   virtual void        SetFirstChild(Int_t first) {fFirstChild=first;}
   virtual void        SetLastChild(Int_t last) {fLastChild=last;}

   virtual void        SetPx(Float_t px) {fPx=px;}
   virtual void        SetPy(Float_t py) {fPy=py;}
   virtual void        SetPz(Float_t pz) {fPz=pz;}
   virtual void        SetEnergy(Float_t energy) {fEnergy=energy;}
   virtual void        SetMass(Float_t mass) {fMass=mass;}

   virtual void        SetVx(Float_t vx) {fVx=vx;}
   virtual void        SetVy(Float_t vy) {fVy=vy;}
   virtual void        SetVz(Float_t vz) {fVz=vz;}
   virtual void        SetTime(Float_t time) {fTime=time;}
   virtual void        SetLifetime(Float_t lifetime) {fLifetime=lifetime;}


   virtual void        ls(Option_t* option) const;

   ClassDef(TMCParticle,1)  // LUJETS particles data record.
};

#endif
 TMCParticle.h:1
 TMCParticle.h:2
 TMCParticle.h:3
 TMCParticle.h:4
 TMCParticle.h:5
 TMCParticle.h:6
 TMCParticle.h:7
 TMCParticle.h:8
 TMCParticle.h:9
 TMCParticle.h:10
 TMCParticle.h:11
 TMCParticle.h:12
 TMCParticle.h:13
 TMCParticle.h:14
 TMCParticle.h:15
 TMCParticle.h:16
 TMCParticle.h:17
 TMCParticle.h:18
 TMCParticle.h:19
 TMCParticle.h:20
 TMCParticle.h:21
 TMCParticle.h:22
 TMCParticle.h:23
 TMCParticle.h:24
 TMCParticle.h:25
 TMCParticle.h:26
 TMCParticle.h:27
 TMCParticle.h:28
 TMCParticle.h:29
 TMCParticle.h:30
 TMCParticle.h:31
 TMCParticle.h:32
 TMCParticle.h:33
 TMCParticle.h:34
 TMCParticle.h:35
 TMCParticle.h:36
 TMCParticle.h:37
 TMCParticle.h:38
 TMCParticle.h:39
 TMCParticle.h:40
 TMCParticle.h:41
 TMCParticle.h:42
 TMCParticle.h:43
 TMCParticle.h:44
 TMCParticle.h:45
 TMCParticle.h:46
 TMCParticle.h:47
 TMCParticle.h:48
 TMCParticle.h:49
 TMCParticle.h:50
 TMCParticle.h:51
 TMCParticle.h:52
 TMCParticle.h:53
 TMCParticle.h:54
 TMCParticle.h:55
 TMCParticle.h:56
 TMCParticle.h:57
 TMCParticle.h:58
 TMCParticle.h:59
 TMCParticle.h:60
 TMCParticle.h:61
 TMCParticle.h:62
 TMCParticle.h:63
 TMCParticle.h:64
 TMCParticle.h:65
 TMCParticle.h:66
 TMCParticle.h:67
 TMCParticle.h:68
 TMCParticle.h:69
 TMCParticle.h:70
 TMCParticle.h:71
 TMCParticle.h:72
 TMCParticle.h:73
 TMCParticle.h:74
 TMCParticle.h:75
 TMCParticle.h:76
 TMCParticle.h:77
 TMCParticle.h:78
 TMCParticle.h:79
 TMCParticle.h:80
 TMCParticle.h:81
 TMCParticle.h:82
 TMCParticle.h:83
 TMCParticle.h:84
 TMCParticle.h:85
 TMCParticle.h:86
 TMCParticle.h:87
 TMCParticle.h:88
 TMCParticle.h:89
 TMCParticle.h:90
 TMCParticle.h:91
 TMCParticle.h:92
 TMCParticle.h:93
 TMCParticle.h:94
 TMCParticle.h:95
 TMCParticle.h:96
 TMCParticle.h:97
 TMCParticle.h:98
 TMCParticle.h:99
 TMCParticle.h:100
 TMCParticle.h:101
 TMCParticle.h:102
 TMCParticle.h:103
 TMCParticle.h:104
 TMCParticle.h:105
 TMCParticle.h:106
 TMCParticle.h:107
 TMCParticle.h:108
 TMCParticle.h:109
 TMCParticle.h:110
 TMCParticle.h:111
 TMCParticle.h:112
 TMCParticle.h:113
 TMCParticle.h:114
 TMCParticle.h:115
 TMCParticle.h:116
 TMCParticle.h:117
 TMCParticle.h:118
 TMCParticle.h:119
 TMCParticle.h:120
 TMCParticle.h:121
 TMCParticle.h:122
 TMCParticle.h:123