]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODPid.h
Keep products of decay(cascades) of primary particles on the stack.
[u/mrichter/AliRoot.git] / STEER / AliAODPid.h
1 #ifndef AliAODPid_H
2 #define AliAODPid_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //     AOD Pid object for additional pid information
10 //     Author: Annalisa Mastroserio, CERN
11 //-------------------------------------------------------------------------
12
13 #include <TObject.h>
14
15 class AliAODPid : public TObject {
16
17  public:
18   AliAODPid();
19   virtual ~AliAODPid();
20   AliAODPid(const AliAODPid& pid); 
21   AliAODPid& operator=(const AliAODPid& pid);
22   
23   enum{kSPECIES=5, kTRDnPlanes=6};
24
25  //setters
26   void      SetITSsignal(Double_t its)                         {fITSsignal=its;}
27   void      SetTPCsignal(Double_t tpc)                         {fTPCsignal=tpc;}
28   void      SetTPCsignalN(UShort_t tpcN)                       {fTPCsignalN=tpcN;}
29   void      SetTPCmomentum(Double_t tpcMom)                    {fTPCmomentum=tpcMom;}
30   void      SetTRDsignal(Int_t nslices, Double_t* trdslices)   {fTRDnSlices = nslices; fTRDslices=trdslices;}
31   void      SetTRDmomentum(Int_t nplane, Float_t trdMom)       {fTRDmomentum[nplane]=trdMom;}
32   void      SetTOFsignal(Double_t tof)                         {fTOFesdsignal=tof;}
33   void      SetTOFpidResolution(Double_t tofPIDres[5]);
34   void      SetIntegratedTimes(Double_t timeint[5]);
35   void      SetHMPIDsignal(Double_t hmpid)                     {fHMPIDsignal=hmpid;}
36   void      SetEMCALPosition(Double_t emcalpos[3]);
37   void      SetEMCALMomentum(Double_t emcalmom[3]);
38
39   Double_t  GetITSsignal()       const {return  fITSsignal;}
40   Double_t  GetTPCsignal()       const {return  fTPCsignal;}
41   UShort_t  GetTPCsignalN()      const {return  fTPCsignalN;}
42   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
43   Int_t     GetTRDnSlices()      const {return  fTRDnSlices;}
44   Double_t* GetTRDsignal()       const {return  fTRDslices;}
45   Float_t*  GetTRDmomentum()           {return  fTRDmomentum;}
46   Double_t  GetTOFsignal()       const {return  fTOFesdsignal;}
47   Double_t  GetHMPIDsignal()     const {return  fHMPIDsignal;}
48
49   void      GetIntegratedTimes(Double_t timeint[5])  const; 
50   void      GetEMCALPosition  (Double_t emcalpos[3]) const;
51   void      GetEMCALMomentum  (Double_t emcalmom[3]) const;
52   void      GetTOFpidResolution (Double_t tofRes[5]) const;
53
54  private :
55   Double32_t  fITSsignal;        //[0.,0.,10] detector raw signal
56   Double32_t  fTPCsignal;        //[0.,0.,10] detector raw signal
57   UShort_t    fTPCsignalN;       // number of points used for TPC dE/dx
58   Double_t    fTPCmomentum;      // momentum at the inner wall of TPC;
59   Int_t       fTRDnSlices;       // N slices used for PID in the TRD
60   Double32_t* fTRDslices;        //[fTRDnSlices]
61   Float_t     fTRDmomentum[6];   // momentum at the TRD layers
62   Double32_t  fTOFesdsignal;     // TOF signal - t0 (T0 interaction time)
63   Double32_t  fTOFpidResolution[5]; // TOF pid resolution for each mass hypotesys 
64   Double32_t  fIntTime[5];       // track time hypothesis
65   Double32_t  fHMPIDsignal;      // detector raw signal
66   Double32_t  fEMCALPosition[3]; // global position of track
67                                  // extrapolated to EMCAL surface
68   Double32_t  fEMCALMomentum[3]; // momentum of track
69                                  // extrapolated to EMCAL surface
70
71   ClassDef(AliAODPid, 5);
72 };
73
74 #endif