]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AOD/AliAODPid.h
Moving the classes that belong to the following libraries: STEERBase, ESD, CDB, AOD...
[u/mrichter/AliRoot.git] / STEER / AOD / 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      SetHMPIDprobs(Double_t hmpPid[5]);
37   void      SetEMCALPosition(Double_t emcalpos[3]);
38   void      SetEMCALMomentum(Double_t emcalmom[3]);
39
40   Double_t  GetITSsignal()       const {return  fITSsignal;}
41   Double_t  GetTPCsignal()       const {return  fTPCsignal;}
42   UShort_t  GetTPCsignalN()      const {return  fTPCsignalN;}
43   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
44   Int_t     GetTRDnSlices()      const {return  fTRDnSlices;}
45   Double_t* GetTRDsignal()       const {return  fTRDslices;}
46   Float_t*  GetTRDmomentum()           {return  fTRDmomentum;}
47   Double_t  GetTOFsignal()       const {return  fTOFesdsignal;}
48   Double_t  GetHMPIDsignal()     const {return  fHMPIDsignal;}
49   void      GetHMPIDprobs(Double_t *p) const;
50
51   void      GetIntegratedTimes(Double_t timeint[5])  const; 
52   void      GetEMCALPosition  (Double_t emcalpos[3]) const;
53   void      GetEMCALMomentum  (Double_t emcalmom[3]) const;
54   void      GetTOFpidResolution (Double_t tofRes[5]) const;
55
56  private :
57   Double32_t  fITSsignal;        //[0.,0.,10] detector raw signal
58   Double32_t  fTPCsignal;        //[0.,0.,10] detector raw signal
59   UShort_t    fTPCsignalN;       // number of points used for TPC dE/dx
60   Double_t    fTPCmomentum;      // momentum at the inner wall of TPC;
61   Int_t       fTRDnSlices;       // N slices used for PID in the TRD
62   Double32_t* fTRDslices;        //[fTRDnSlices]
63   Float_t     fTRDmomentum[6];   // momentum at the TRD layers
64   Double32_t  fTOFesdsignal;     // TOF signal - t0 (T0 interaction time)
65   Double32_t  fTOFpidResolution[5]; // TOF pid resolution for each mass hypotesys 
66   Double32_t  fIntTime[5];       // track time hypothesis
67   Double32_t  fHMPIDsignal;      // detector raw signal
68   Double32_t  fHMPIDprobs[5];    // detector pid probabilities
69   Double32_t  fEMCALPosition[3]; // global position of track
70                                  // extrapolated to EMCAL surface
71   Double32_t  fEMCALMomentum[3]; // momentum of track
72                                  // extrapolated to EMCAL surface
73
74   ClassDef(AliAODPid, 6);
75 };
76
77 #endif