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 */
8 //_________________________________________________________________________
9 // A Particle modified by EMCAL response and produced by AliEMCALvFast
10 // To become a general class of AliRoot ?
12 //*-- Author: Yves Schutz (SUBATECH)
14 // --- ROOT system ---
17 #include "TParticle.h"
19 // --- Standard library ---
21 // --- AliRoot header files ---
23 class AliEMCALFastRecParticle : public TParticle {
27 AliEMCALFastRecParticle() ;
29 AliEMCALFastRecParticle(const AliEMCALFastRecParticle & rp) ; // ctor
30 AliEMCALFastRecParticle(const TParticle & p) ; // ctor
31 virtual ~AliEMCALFastRecParticle(){
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
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
48 void SetPIDBit(UInt_t fSet) {
49 // Set PID bit number fSet
53 Bool_t TestPIDBit(UInt_t fTest) const {
54 // Check PID bit number fTest
55 if (fType & (1<<fTest) ) return kTRUE ;
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;
73 TString Name() const ;
74 virtual void Paint(Option_t * option="");
75 virtual void Print(Option_t * option = "") const ;
77 void SetType(Int_t type) ;
79 void SetIndexInList(Int_t val) {
80 // sets the value of the index in the list
83 //This has to disappear
84 enum EParticleType { kUNDEFINED=-1,
85 kNEUTRALEMFAST, kNEUTRALHAFAST, kNEUTRALEMSLOW, kNEUTRALHASLOW,
86 kCHARGEDEMFAST, kCHARGEDHAFAST, kCHARGEDEMSLOW, kCHARGEDHASLOW } ;
89 typedef TClonesArray FastRecParticlesList ;
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
98 ClassDef(AliEMCALFastRecParticle,2) // Reconstructed Particle produced by the fast simulation
102 #endif // AliEMCALFASTRECPARTICLE_H