]>
Commit | Line | Data |
---|---|---|
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 | ||
8 | /* History of cvs commits: | |
9 | * | |
10 | * $Log$ | |
11 | * Revision 1.36 2005/05/28 14:19:04 schutz | |
12 | * Compilation warnings fixed by T.P. | |
13 | * | |
14 | */ | |
15 | ||
16 | //_________________________________________________________________________ | |
17 | // A Particle modified by PHOS response and produced by AliPHOSvFast | |
18 | // This is also a base class for AliPHOSRecParticle produced by AliPHOSPIDv1 | |
19 | // Defines the particle type | |
20 | // To become a general class of AliRoot ? | |
21 | //-- | |
22 | //*-- Author: Yves Schutz (SUBATECH) | |
23 | ||
24 | // --- ROOT system --- | |
25 | ||
26 | class TClonesArray; | |
27 | #include "TParticle.h" | |
28 | #include "AliPID.h" | |
29 | // --- Standard library --- | |
30 | ||
31 | // --- AliRoot header files --- | |
32 | ||
33 | class AliPHOSFastRecParticle : public TParticle { | |
34 | ||
35 | public: | |
36 | ||
37 | AliPHOSFastRecParticle() ; | |
38 | ||
39 | AliPHOSFastRecParticle(const AliPHOSFastRecParticle & rp) ; // ctor | |
40 | AliPHOSFastRecParticle(const TParticle & p) ; // ctor | |
41 | virtual ~AliPHOSFastRecParticle(){ } //dtor | |
42 | AliPHOSFastRecParticle & operator = (const AliPHOSFastRecParticle & /*rp*/); | |
43 | ||
44 | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ; | |
45 | virtual void Draw(Option_t *option) ; | |
46 | virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; | |
47 | Int_t GetIndexInList() const { | |
48 | // returns the index of this in the list | |
49 | return fIndexInList ; | |
50 | } | |
51 | virtual Int_t GetNPrimaries() const {return 0 ;} | |
52 | virtual const TParticle * GetPrimary(Int_t) const {return 0 ;} | |
53 | Int_t GetType() const { | |
54 | // returns the type of the particle | |
55 | return fType ; | |
56 | } | |
57 | ||
58 | void SetPIDBit(UInt_t fSet) { | |
59 | // Set PID bit number fSet | |
60 | fType |= (1<<fSet) ; | |
61 | } | |
62 | ||
63 | Bool_t TestPIDBit(UInt_t fTest) const { | |
64 | // Check PID bit number fTest | |
65 | if (fType & (1<<fTest) ) return kTRUE ; | |
66 | else return kFALSE ; | |
67 | } | |
68 | ||
69 | Bool_t IsPhoton (TString purity = "low") const; | |
70 | Bool_t IsPi0 (TString purity = "low") const; | |
71 | Bool_t IsElectron (TString purity = "low") const; | |
72 | Bool_t IsHardPhoton () const; | |
73 | Bool_t IsHardPi0 () const; | |
74 | Bool_t IsHadron () const; | |
75 | Bool_t IsChargedHadron () const; | |
76 | Bool_t IsNeutralHadron () const; | |
77 | Bool_t IsFastChargedHadron() const; | |
78 | Bool_t IsSlowChargedHadron() const; | |
79 | Bool_t IsFastNeutralHadron() const; | |
80 | Bool_t IsSlowNeutralHadron() const; | |
81 | Bool_t IsEleCon(TString purity = "low") const; | |
82 | ||
83 | TString Name() const ; | |
84 | virtual void Paint(Option_t * option=""); | |
85 | virtual void Print(const Option_t * = "") const ; | |
86 | ||
87 | void SetTof(Float_t tof) { fTof = tof ; } | |
88 | Float_t ToF() const { return fTof ; } | |
89 | void SetType(Int_t type) ; | |
90 | ||
91 | void SetIndexInList(Int_t val) { | |
92 | // sets the value of the index in the list | |
93 | fIndexInList = val ; | |
94 | } | |
95 | //This has to disappear | |
96 | enum EParticleType { kTYPE = 8, | |
97 | kUNDEFINED=-1, | |
98 | kNEUTRALEMFAST, kNEUTRALHAFAST, kNEUTRALEMSLOW, kNEUTRALHASLOW, | |
99 | kCHARGEDEMFAST, kCHARGEDHAFAST, kCHARGEDEMSLOW, kCHARGEDHASLOW } ; | |
100 | ||
101 | typedef TClonesArray FastRecParticlesList ; | |
102 | ||
103 | protected: | |
104 | ||
105 | Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis) | |
106 | Float_t fTof ; // time of fliht | |
107 | Int_t fType ; // particle type obtained by "virtual" reconstruction | |
108 | Float_t fPID[AliPID::kSPECIESCN] ; // PID probability densities | |
109 | ||
110 | private: | |
111 | ||
112 | ClassDef(AliPHOSFastRecParticle,2) // Reconstructed Particle produced by the fast simulation | |
113 | ||
114 | }; | |
115 | ||
116 | #endif // AliPHOSFASTRECPARTICLE_H |