]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JCORRAN/AliJMCTrack.h
Updating track cuts and removing functionality that is now in separate cosmics tasks
[u/mrichter/AliRoot.git] / PWG4 / JCORRAN / AliJMCTrack.h
1 // $Id: AliJMCTrack.h,v 1.3 2008/05/08 15:19:52 djkim Exp $
2
3 ////////////////////////////////////////////////////
4 /*!
5   \file AliJMCTrack.h
6   \brief
7   \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
8   \email: djkim@jyu.fi
9   \version $Revision: 1.3 $
10   \date $Date: 2008/05/08 15:19:52 $
11 */
12 ////////////////////////////////////////////////////
13
14 #ifndef ALIJMCTRACK_H
15 #define ALIJMCTRACK_H
16
17 #ifndef ROOT_TObject
18 #include <TObject.h>
19 #endif
20
21 #include <iostream>
22 #include <fstream>
23 #include <stdlib.h>
24 #include <stdio.h>
25 #include <math.h>
26
27 #include "AliPhJBaseTrack.h"
28
29 //class TObject;
30
31 class AliJMCTrack : public AliPhJBaseTrack {
32
33 public:
34
35   AliJMCTrack();            //default constructor
36   AliJMCTrack(const AliJMCTrack& a);    //copy constructor
37
38   ~AliJMCTrack(){;}             //destructor
39   
40   Int_t  GetPdgCode()    const {return fPdgCode;}
41   Int_t  GetStatusCode()    const {return fStatus;}
42   Int_t  GetFlag()       const {return fFlag;}
43   Int_t  GetLabel()      const {return fLabel;}
44   Int_t  GetMother  (Int_t i) const {return fMother[i];}
45   Int_t  GetDaughter(Int_t i) const {return fDaughter[i];}
46   Double_t  GetEta()     const {return fEta;}
47   bool  IsPrimary()      const {return fPrimary;}
48   bool  IsInPHOS()       const {return fPHOS;}
49   bool  IsInEMCAL()      const {return fEMCAL;}
50   bool  IsInTPC()        const {return fTPC;}
51   Double_t  GetPtHard()     const {return fPtHard;}
52
53   void SetPdgCode(Int_t icode) {fPdgCode=icode;}
54   void SetStatusCode(Int_t icode) {fStatus=icode;}
55   void SetFlag(Int_t i)        {fFlag=i;}
56   void SetLabel(Int_t i)       {fLabel=i;}
57   void SetMother  (int i, int code){ fMother[i] = code ; }
58   void SetDaughter(int i, int code){ fDaughter[i] = code ; }
59   void SetEta(Double_t i)      {fEta=i;}
60   void SetProductionVertex(Double_t vx, Double_t vy, Double_t vz)
61        {fVx=vx; fVy=vy; fVz=vz;}
62   void SetIsPrimary(bool in) {fPrimary=in;}
63   void SetIsInPHOS(bool in) {fPHOS=in;}
64   void SetIsInEMCAL(bool in) {fEMCAL=in;}
65   void SetIsInTPC(bool in) {fTPC=in;}
66   void SetPtHard(Double_t i)      {fPtHard=i;}
67
68
69   AliJMCTrack& operator=(const AliJMCTrack& trk);
70
71         
72 private:
73
74   Int_t            fPdgCode;              // PDG code of the particle
75   Int_t            fStatus;               //status flag
76   Int_t            fFlag;                 // Flag for indication of primary etc
77   Int_t            fLabel;                // Label of the original MCParticle
78   Int_t            fMother[2];               // Index of the mother particles
79   Int_t            fDaughter[2];          // Indices of the daughter particles
80
81   Double32_t       fVx;                   // [0.,0.,12] x of production vertex
82   Double32_t       fVy;                   // [0.,0.,12] y of production vertex
83   Double32_t       fVz;                   // [0.,0.,12] z of production vertex
84   Double_t         fEta;                  //pseudorapidity
85   bool fPrimary;                          //primary particle flag
86   bool fPHOS;                             //hit in PHOS
87   bool fEMCAL;                            //hit in EMCAL
88   bool fTPC;                              //hit in TPC
89   Double_t fPtHard;                       //hard particle
90
91
92  ClassDef(AliJMCTrack,1)
93 };
94
95 #endif