]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/AliPHOSFastRecParticle.h
Introduce new default paramenters (previous version did not do it properly)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSFastRecParticle.h
CommitLineData
a73f33f0 1#ifndef ALIPHOSFASTRECPARTICLE_H
2#define ALIPHOSFASTRECPARTICLE_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
b2a60966 8//_________________________________________________________________________
9// A Particle modified by PHOS response and produced by AliPHOSvFast
10// To become a general class of AliRoot ?
11//
12//*-- Author: Yves Schutz (SUBATECH)
a73f33f0 13
14// --- ROOT system ---
15
16#include "TParticle.h"
17#include "TVector3.h"
18
19// --- Standard library ---
20
21// --- AliRoot header files ---
22
a73f33f0 23class AliPHOSFastRecParticle : public TParticle {
24
88714635 25 public:
a73f33f0 26
03c03c49 27 AliPHOSFastRecParticle() ;
78022019 28
a73f33f0 29 AliPHOSFastRecParticle(const AliPHOSFastRecParticle & rp) ; // ctor
30 AliPHOSFastRecParticle(const TParticle & p) ; // ctor
88714635 31 virtual ~AliPHOSFastRecParticle(){
32 // dtor
33 }
a73f33f0 34 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ;
35 virtual void Draw(Option_t *option) ;
b2a60966 36 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ;
88714635 37 Int_t GetIndexInList() const {
38 // returns the index of this in the list
39 return fIndexInList ;
40 }
78022019 41 Int_t GetPrimary(){return fPrimary;}
6a40c29e 42
7b7c1533 43 const Int_t GetType() const {
88714635 44 // returns the type of the particle
45 return fType ;
46 }
6a40c29e 47
48 void SetPIDBit(UInt_t fSet)
49 {
50 fType |= (1<<fSet) ;
51 }
52
53 Bool_t TestPIDBit(UInt_t fTest){
54 if (fType & (1<<fTest) )
55 return kTRUE ;
56 else
57 return kFALSE ;
58 }
03c03c49 59
a3d4377c 60 Bool_t IsPhotonHiPu_LoEf() {
03c03c49 61 Bool_t pid=kFALSE ;
62 if(TestPIDBit(8)&&TestPIDBit(7)&&TestPIDBit(6)&& //PCA
63 TestPIDBit(5)&&TestPIDBit(4)&&TestPIDBit(3)&& //TOF
64 TestPIDBit(2)&&TestPIDBit(1)&&TestPIDBit(0)) //RCPV
65 pid = kTRUE;
66 return pid ;
67 }
a3d4377c 68 Bool_t IsPhotonMed_Pu_Ef(){
03c03c49 69 Bool_t pid=kFALSE ;
70 if(TestPIDBit(7)&&TestPIDBit(6)&& //PCA
71 TestPIDBit(5)&&TestPIDBit(4)&&TestPIDBit(3)&& //TOF
72 TestPIDBit(2)&&TestPIDBit(1)&&TestPIDBit(0)) //RCPV
73 pid = kTRUE ;
74 return pid ;
75 }
a3d4377c 76 Bool_t IsPhotonHiEf_LoPu() {
03c03c49 77 Bool_t pid=kFALSE ;
78 if(TestPIDBit(6)&& //PCA
79 TestPIDBit(5)&&TestPIDBit(4)&&TestPIDBit(3)&& //TOF
80 TestPIDBit(2)&&TestPIDBit(1)&&TestPIDBit(0)) //RCPV
81 pid = kTRUE ;
82 return pid ;
83 }
84
a3d4377c 85 Bool_t IsPhoton() {
86 Bool_t pid=kFALSE ;
87 if(IsPhotonHiEf_LoPu()) pid = kTRUE ;
88 return pid ;
89 }
90
a73f33f0 91 TString Name() ;
92 virtual void Paint(Option_t * option="");
2f04ed65 93 virtual void Print(const char * opt) ;
78022019 94 void SetPrimary(Int_t index) { // sets the primary particle index
88714635 95 fPrimary = index ;
96 }
6a40c29e 97
88714635 98 void SetType(Int_t type) {
99 // sets the particle type
100 fType = type ;
6a40c29e 101 }
102
88714635 103 void SetIndexInList(Int_t val) {
104 // sets the value of the index in the list
105 fIndexInList = val ;
106 }
a3d4377c 107 enum EParticleType { kUNDEFINED=-1,
108 kNEUTRALEMFAST, kNEUTRALHAFAST, kNEUTRALEMSLOW, kNEUTRALHASLOW,
109 kCHARGEDEMFAST, kCHARGEDHAFAST, kCHARGEDEMSLOW, kCHARGEDHASLOW } ;
110
9ec91567 111
c0d5b57d 112 typedef TClonesArray FastRecParticlesList ;
113
88714635 114 protected:
a73f33f0 115
83974468 116 Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis)
6a40c29e 117 Int_t fPrimary ; // primary particle index
83974468 118 Int_t fType ; // particle type obtained by "virtual" reconstruction
a73f33f0 119
88714635 120 private:
121
88714635 122
b2a60966 123 ClassDef(AliPHOSFastRecParticle,1) // Reconstructed Particle produced by the fast simulation
a73f33f0 124
125};
126
127#endif // AliPHOSFASTRECPARTICLE_H