]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSFastRecParticle.h
fc4124f1be2221c5a28d60050279d312e37730d4
[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 const static Int_t kUNDEFINED =-1 ;
24 const static Int_t kNEUTRALEM = 0 ;
25 const static Int_t kNEUTRALHA = 1 ;
26 const static Int_t kGAMMA     = 2 ; 
27 const static Int_t kGAMMAHA   = 3 ; 
28 const static Int_t kABSURDEM  = 4 ;
29 const static Int_t kABSURDHA  = 5 ;
30 const static Int_t kELECTRON  = 6 ;
31 const static Int_t kCHARGEDHA = 7 ;
32
33
34 class AliPHOSFastRecParticle : public TParticle {
35
36  public:
37   
38   AliPHOSFastRecParticle() {
39     // ctor 
40   };         
41   AliPHOSFastRecParticle(const AliPHOSFastRecParticle & rp) ;  // ctor
42   AliPHOSFastRecParticle(const TParticle & p) ;  // ctor
43   virtual ~AliPHOSFastRecParticle(){
44     // dtor
45   }
46   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ; 
47   virtual void Draw(Option_t *option) ;  
48   virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ;
49   Int_t GetIndexInList() const { 
50     // returns the index of this in the list
51     return fIndexInList ; 
52   } 
53   virtual Int_t * GetPrimaries(Int_t & number) ;
54   Int_t GetType() { 
55     // returns the type of the particle
56     return fType ; 
57   } 
58   TString Name() ; 
59   virtual void Paint(Option_t * option="");
60   void Print() ; 
61   void SetPrimary(Int_t index) { 
62     // sets the primary particle index
63     fPrimary = index ; 
64   }
65   void SetType(Int_t type) { 
66     // sets the particle type 
67     fType = type ; 
68   } 
69   void SetIndexInList(Int_t val) { 
70     // sets the value of the index in the list 
71     fIndexInList = val ; 
72   } 
73
74  protected:
75
76   Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis)
77   Int_t fPrimary ;     // (unique) primary particle index 
78   Int_t fType ;        // particle type obtained by "virtual" reconstruction
79
80  private:
81
82   typedef TClonesArray  FastRecParticlesList ; 
83
84   ClassDef(AliPHOSFastRecParticle,1)  // Reconstructed Particle produced by the fast simulation 
85
86 };
87
88 #endif // AliPHOSFASTRECPARTICLE_H