]>
Commit | Line | Data |
---|---|---|
45a58699 | 1 | #ifndef ALIEMCALFASTRECPARTICLE_H |
2 | #define ALIEMCALFASTRECPARTICLE_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 | //_________________________________________________________________________ | |
9 | // A Particle modified by EMCAL response and produced by AliEMCALvFast | |
10 | // To become a general class of AliRoot ? | |
11 | // | |
12 | //*-- Author: Yves Schutz (SUBATECH) | |
13 | ||
14 | // --- ROOT system --- | |
15 | ||
16 | class TClonesArray; | |
17 | #include "TParticle.h" | |
18 | ||
19 | // --- Standard library --- | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | ||
23 | class AliEMCALFastRecParticle : public TParticle { | |
24 | ||
25 | public: | |
26 | ||
27 | AliEMCALFastRecParticle() ; | |
28 | ||
0a4cb131 | 29 | AliEMCALFastRecParticle(const AliEMCALFastRecParticle & rp) ; // copy ctor |
45a58699 | 30 | AliEMCALFastRecParticle(const TParticle & p) ; // ctor |
31 | virtual ~AliEMCALFastRecParticle(){ | |
32 | // dtor | |
33 | } | |
34 | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ; | |
35 | virtual void Draw(Option_t *option) ; | |
36 | virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; | |
37 | Int_t GetIndexInList() const { | |
38 | // returns the index of this in the list | |
39 | return fIndexInList ; | |
40 | } | |
41 | virtual Int_t GetNPrimaries() const {return 0 ;} | |
42 | virtual const TParticle * GetPrimary(Int_t /*index=0*/) const {return 0 ;} | |
43 | Int_t GetType() const { | |
44 | // returns the type of the particle | |
45 | return fType ; | |
46 | } | |
47 | ||
48 | void SetPIDBit(UInt_t fSet) { | |
49 | // Set PID bit number fSet | |
50 | fType |= (1<<fSet) ; | |
51 | } | |
52 | ||
53 | Bool_t TestPIDBit(UInt_t fTest) const { | |
54 | // Check PID bit number fTest | |
55 | if (fType & (1<<fTest) ) return kTRUE ; | |
56 | else return kFALSE ; | |
57 | } | |
58 | ||
59 | Bool_t IsPhoton (TString purity = "low") const; | |
60 | Bool_t IsPi0 (TString purity = "low") const; | |
61 | Bool_t IsElectron (TString purity = "low") const; | |
62 | Bool_t IsHardPhoton () const; | |
63 | Bool_t IsHardPi0 () const; | |
64 | Bool_t IsHadron () const; | |
65 | Bool_t IsChargedHadron () const; | |
66 | Bool_t IsNeutralHadron () const; | |
67 | Bool_t IsFastChargedHadron() const; | |
68 | Bool_t IsSlowChargedHadron() const; | |
69 | Bool_t IsFastNeutralHadron() const; | |
70 | Bool_t IsSlowNeutralHadron() const; | |
71 | Bool_t IsEleCon(TString purity = "low") const; | |
72 | ||
73 | TString Name() const ; | |
74 | virtual void Paint(Option_t * option=""); | |
75 | virtual void Print(Option_t * option = "") const ; | |
76 | ||
77 | void SetType(Int_t type) ; | |
78 | ||
79 | void SetIndexInList(Int_t val) { | |
80 | // sets the value of the index in the list | |
81 | fIndexInList = val ; | |
82 | } | |
83 | //This has to disappear | |
84 | enum EParticleType { kUNDEFINED=-1, | |
85 | kNEUTRALEMFAST, kNEUTRALHAFAST, kNEUTRALEMSLOW, kNEUTRALHASLOW, | |
86 | kCHARGEDEMFAST, kCHARGEDHAFAST, kCHARGEDEMSLOW, kCHARGEDHASLOW } ; | |
87 | ||
88 | ||
89 | typedef TClonesArray FastRecParticlesList ; | |
90 | ||
91 | protected: | |
92 | ||
93 | Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis) | |
94 | Int_t fType ; // particle type obtained by "virtual" reconstruction | |
95 | private: | |
96 | ||
97 | ||
98 | ClassDef(AliEMCALFastRecParticle,2) // Reconstructed Particle produced by the fast simulation | |
99 | ||
100 | }; | |
101 | ||
102 | #endif // AliEMCALFASTRECPARTICLE_H |