Logo ROOT   6.08/07
Reference Guide
TMCParticle.h
Go to the documentation of this file.
1 // @(#)root/pythia6:$Id$
2 // Author: Piotr Golonka 17/09/97
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TMCParticle
13 #define ROOT_TMCParticle
14 
15 #ifndef ROOT_TObject
16 #include "TObject.h"
17 #endif
18 #ifndef ROOT_TAttLine
19 #include "TAttLine.h"
20 #endif
21 #ifndef ROOT_TPrimary
22 #include "TPrimary.h"
23 #endif
24 
25 
26 class TMCParticle : public TObject, public TAttLine {
27 
28 private:
29 
30  Int_t fKS; // status of particle ( LUJETS K[1] )
31  Int_t fKF; // KF flavour code ( LUJETS K[2] )
32  Int_t fParent; // parrent's id ( LUJETS K[3] )
33  Int_t fFirstChild; // id of first child ( LUJETS K[4] )
34  Int_t fLastChild; // id of last child ( LUJETS K[5] )
35 
36  Float_t fPx; // X momenta [GeV/c] ( LUJETS P[1] )
37  Float_t fPy; // Y momenta [GeV/c] ( LUJETS P[2] )
38  Float_t fPz; // Z momenta [GeV/c] ( LUJETS P[3] )
39  Float_t fEnergy; // Energy [GeV] ( LUJETS P[4] )
40  Float_t fMass; // Mass [Gev/c^2] ( LUJETS P[5] )
41 
42  Float_t fVx; // X vertex [mm] ( LUJETS V[1] )
43  Float_t fVy; // Y vertex [mm] ( LUJETS V[2] )
44  Float_t fVz; // Z vertex [mm] ( LUJETS V[3] )
45  Float_t fTime; // time of procuction [mm/c]( LUJETS V[4] )
46  Float_t fLifetime; // proper lifetime [mm/c] ( LUJETS V[5] )
47 
48 
49 public:
50  TMCParticle() : fKS(0), fKF(0), fParent(0), fFirstChild(0),
51  fLastChild(0), fPx(0), fPy(0), fPz(0), fEnergy(0), fMass(0),
52  fVx(0), fVy(0), fVz(0), fTime(0), fLifetime(0) {}
53 
54  TMCParticle(Int_t kS, Int_t kF, Int_t parent,
55  Int_t firstchild, Int_t lastchild,
56  Float_t px, Float_t py, Float_t pz,
57  Float_t energy, Float_t mass,
58  Float_t vx, Float_t vy, Float_t vz,
59  Float_t time, Float_t lifetime) :
60 
61  fKS(kS),
62  fKF(kF),
63  fParent(parent),
64  fFirstChild(firstchild),
65  fLastChild(lastchild),
66  fPx(px),
67  fPy(py),
68  fPz(pz),
69  fEnergy(energy),
70  fMass(mass),
71  fVx(vx),
72  fVy(vy),
73  fVz(vz),
74  fTime(time),
75  fLifetime(lifetime) { }
76 
77 
78  virtual ~TMCParticle() { }
79 
80  Int_t GetKS() const {return fKS;}
81  Int_t GetKF() const {return fKF;}
82  Int_t GetParent() const {return fParent;}
83  Int_t GetFirstChild() const {return fFirstChild;}
84  Int_t GetLastChild() const {return fLastChild;}
85 
86  Float_t GetPx() const {return fPx;}
87  Float_t GetPy() const {return fPy;}
88  Float_t GetPz() const {return fPz;}
89  Float_t GetEnergy() const {return fEnergy;}
90  Float_t GetMass() const {return fMass;}
91 
92  Float_t GetVx() const {return fVx;}
93  Float_t GetVy() const {return fVy;}
94  Float_t GetVz() const {return fVz;}
95  Float_t GetTime() const {return fTime;}
96  Float_t GetLifetime() const {return fLifetime;}
97  virtual const char *GetName() const;
98 
99  virtual void SetKS(Int_t kS) {fKS=kS;}
100  virtual void SetKF(Int_t kF) {fKF=kF;}
101  virtual void SetParent(Int_t parent) {fParent=parent;}
102  virtual void SetFirstChild(Int_t first) {fFirstChild=first;}
103  virtual void SetLastChild(Int_t last) {fLastChild=last;}
104 
105  virtual void SetPx(Float_t px) {fPx=px;}
106  virtual void SetPy(Float_t py) {fPy=py;}
107  virtual void SetPz(Float_t pz) {fPz=pz;}
108  virtual void SetEnergy(Float_t energy) {fEnergy=energy;}
109  virtual void SetMass(Float_t mass) {fMass=mass;}
110 
111  virtual void SetVx(Float_t vx) {fVx=vx;}
112  virtual void SetVy(Float_t vy) {fVy=vy;}
113  virtual void SetVz(Float_t vz) {fVz=vz;}
114  virtual void SetTime(Float_t time) {fTime=time;}
115  virtual void SetLifetime(Float_t lifetime) {fLifetime=lifetime;}
116 
117 
118  virtual void ls(Option_t* option) const;
119 
120  ClassDef(TMCParticle,1) // LUJETS particles data record.
121 };
122 
123 #endif
Int_t fFirstChild
Definition: TMCParticle.h:33
virtual ~TMCParticle()
Definition: TMCParticle.h:78
virtual void SetParent(Int_t parent)
Definition: TMCParticle.h:101
virtual void SetEnergy(Float_t energy)
Definition: TMCParticle.h:108
virtual void SetLastChild(Int_t last)
Definition: TMCParticle.h:103
Float_t fEnergy
Definition: TMCParticle.h:39
float Float_t
Definition: RtypesCore.h:53
const char Option_t
Definition: RtypesCore.h:62
Int_t fLastChild
Definition: TMCParticle.h:34
Float_t GetPy() const
Definition: TMCParticle.h:87
Float_t GetVy() const
Definition: TMCParticle.h:93
virtual void SetPy(Float_t py)
Definition: TMCParticle.h:106
virtual void SetPx(Float_t px)
Definition: TMCParticle.h:105
Float_t fPx
Definition: TMCParticle.h:36
Float_t GetLifetime() const
Definition: TMCParticle.h:96
virtual void SetLifetime(Float_t lifetime)
Definition: TMCParticle.h:115
Int_t GetKF() const
Definition: TMCParticle.h:81
int Int_t
Definition: RtypesCore.h:41
Float_t fMass
Definition: TMCParticle.h:40
Float_t fPz
Definition: TMCParticle.h:38
Int_t GetFirstChild() const
Definition: TMCParticle.h:83
This class serves as a data storage for description of one particle.
Definition: TMCParticle.h:26
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void SetKF(Int_t kF)
Definition: TMCParticle.h:100
virtual void SetKS(Int_t kS)
Definition: TMCParticle.h:99
Int_t fParent
Definition: TMCParticle.h:32
virtual void ls(Option_t *option) const
The ls function lists the contents of a class on stdout.
Definition: TMCParticle.cxx:30
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)
Definition: TMCParticle.h:54
Float_t fTime
Definition: TMCParticle.h:45
Float_t GetVx() const
Definition: TMCParticle.h:92
virtual void SetTime(Float_t time)
Definition: TMCParticle.h:114
Float_t GetPx() const
Definition: TMCParticle.h:86
virtual void SetVy(Float_t vy)
Definition: TMCParticle.h:112
virtual void SetVz(Float_t vz)
Definition: TMCParticle.h:113
Int_t GetKS() const
Definition: TMCParticle.h:80
Float_t fLifetime
Definition: TMCParticle.h:46
Float_t fPy
Definition: TMCParticle.h:37
Float_t GetMass() const
Definition: TMCParticle.h:90
Int_t GetLastChild() const
Definition: TMCParticle.h:84
virtual void SetPz(Float_t pz)
Definition: TMCParticle.h:107
virtual void SetMass(Float_t mass)
Definition: TMCParticle.h:109
Float_t fVy
Definition: TMCParticle.h:43
Float_t fVz
Definition: TMCParticle.h:44
virtual void SetFirstChild(Int_t first)
Definition: TMCParticle.h:102
Mother of all ROOT objects.
Definition: TObject.h:37
Int_t GetParent() const
Definition: TMCParticle.h:82
Definition: first.py:1
Float_t GetVz() const
Definition: TMCParticle.h:94
Float_t GetEnergy() const
Definition: TMCParticle.h:89
virtual void SetVx(Float_t vx)
Definition: TMCParticle.h:111
Float_t GetPz() const
Definition: TMCParticle.h:88
Line Attributes class.
Definition: TAttLine.h:24
virtual const char * GetName() const
Return name of this particle via Pythia.
Definition: TMCParticle.cxx:43
Float_t GetTime() const
Definition: TMCParticle.h:95
Float_t fVx
Definition: TMCParticle.h:42