New PID in AliPHOSPIDv1
[u/mrichter/AliRoot.git] / PHOS / AliPHOSFastRecParticle.h
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 //_________________________________________________________________________
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)
13
14 // --- ROOT system ---
15
16 #include "TParticle.h"
17 #include "TVector3.h"
18
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 typedef TClonesArray  FastRecParticlesList ; 
24
25 const static Int_t kUNDEFINED =-1 ;
26 const static Int_t kNEUTRAL_EM = 0 ;
27 const static Int_t kNEUTRAL_HA = 1 ;
28 const static Int_t kGAMMA      = 2 ; 
29 const static Int_t kGAMMA_HA   = 3 ; 
30 const static Int_t kABSURD_EM  = 4 ;
31 const static Int_t kABSURD_HA  = 5 ;
32 const static Int_t kELECTRON   = 6 ;
33 const static Int_t kCHARGED_HA = 7 ;
34
35
36 class AliPHOSFastRecParticle : public TParticle {
37
38 public:
39   
40   AliPHOSFastRecParticle() {};          // ctor
41   AliPHOSFastRecParticle(const AliPHOSFastRecParticle & rp) ;  // ctor
42   AliPHOSFastRecParticle(const TParticle & p) ;  // ctor
43   virtual ~AliPHOSFastRecParticle(){}  // dtor
44
45   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ; 
46   virtual void Draw(Option_t *option) ;  
47   virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ;
48   Int_t GetIndexInList() const { return fIndexInList ; } 
49   virtual Int_t * GetPrimaries(Int_t & number) ;
50   Int_t GetType() { return fType ; } 
51   TString Name() ; 
52   virtual void Paint(Option_t * option="");
53   void Print() ; 
54   void SetPrimary(Int_t index) { fPrimary = index ; }
55   void SetType(Int_t type) { fType = type ; } 
56   void SetIndexInList(Int_t val) { fIndexInList = val ; } 
57
58 protected:
59
60   Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis)
61   Int_t fPrimary ;     // (unique) primary particle index 
62   Int_t fType ;        // particle type obtained by "virtual" reconstruction
63
64   ClassDef(AliPHOSFastRecParticle,1)  // Reconstructed Particle produced by the fast simulation 
65
66 };
67
68 #endif // AliPHOSFASTRECPARTICLE_H