New PID class PIDv2
[u/mrichter/AliRoot.git] / PHOS / AliPHOSFastRecParticle.h
CommitLineData
a73f33f0 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
b2a60966 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)
a73f33f0 13
14// --- ROOT system ---
15
16#include "TParticle.h"
17#include "TVector3.h"
18
19// --- Standard library ---
20
21// --- AliRoot header files ---
22
a73f33f0 23class AliPHOSFastRecParticle : public TParticle {
24
88714635 25 public:
a73f33f0 26
88714635 27 AliPHOSFastRecParticle() {
28 // ctor
29 };
78022019 30
a73f33f0 31 AliPHOSFastRecParticle(const AliPHOSFastRecParticle & rp) ; // ctor
32 AliPHOSFastRecParticle(const TParticle & p) ; // ctor
88714635 33 virtual ~AliPHOSFastRecParticle(){
34 // dtor
35 }
a73f33f0 36 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) ;
37 virtual void Draw(Option_t *option) ;
b2a60966 38 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ;
88714635 39 Int_t GetIndexInList() const {
40 // returns the index of this in the list
41 return fIndexInList ;
42 }
78022019 43 Int_t GetPrimary(){return fPrimary;}
6a40c29e 44
7b7c1533 45 const Int_t GetType() const {
88714635 46 // returns the type of the particle
47 return fType ;
48 }
6a40c29e 49
50 void SetPIDBit(UInt_t fSet)
51 {
52 fType |= (1<<fSet) ;
53 }
54
55 Bool_t TestPIDBit(UInt_t fTest){
56 if (fType & (1<<fTest) )
57 return kTRUE ;
58 else
59 return kFALSE ;
60 }
61
a73f33f0 62 TString Name() ;
63 virtual void Paint(Option_t * option="");
2f04ed65 64 virtual void Print(const char * opt) ;
78022019 65 void SetPrimary(Int_t index) { // sets the primary particle index
88714635 66 fPrimary = index ;
67 }
6a40c29e 68
88714635 69 void SetType(Int_t type) {
70 // sets the particle type
71 fType = type ;
6a40c29e 72 }
73
88714635 74 void SetIndexInList(Int_t val) {
75 // sets the value of the index in the list
76 fIndexInList = val ;
77 }
78
9688c1dd 79 enum EParticleType { kUNDEFINED=-1,
80 kNEUTRALEMFAST, kNEUTRALHAFAST, kNEUTRALEMSLOW, kNEUTRALHASLOW,
81 kCHARGEDEMFAST, kCHARGEDHAFAST, kCHARGEDEMSLOW, kCHARGEDHASLOW } ;
9ec91567 82
c0d5b57d 83 typedef TClonesArray FastRecParticlesList ;
84
88714635 85 protected:
a73f33f0 86
83974468 87 Int_t fIndexInList ; // the index of this RecParticle in the list stored in TreeR (to be set by analysis)
6a40c29e 88 Int_t fPrimary ; // primary particle index
83974468 89 Int_t fType ; // particle type obtained by "virtual" reconstruction
a73f33f0 90
88714635 91 private:
92
88714635 93
b2a60966 94 ClassDef(AliPHOSFastRecParticle,1) // Reconstructed Particle produced by the fast simulation
a73f33f0 95
96};
97
98#endif // AliPHOSFASTRECPARTICLE_H