Corrected protection.
[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      SetIntegratedTimes(Double_t timeint[5]);
34   void      SetHMPIDsignal(Double_t hmpid)                     {fHMPIDsignal=hmpid;}
35   void      SetEMCALPosition(Double_t emcalpos[3]);
36   void      SetEMCALMomentum(Double_t emcalmom[3]);
37
38   Double_t  GetITSsignal()       const {return  fITSsignal;}
39   Double_t  GetTPCsignal()       const {return  fTPCsignal;}
40   UShort_t  GetTPCsignalN()      const {return  fTPCsignalN;}
41   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
42   Int_t     GetTRDnSlices()      const {return  fTRDnSlices;}
43   Double_t* GetTRDsignal()       const {return  fTRDslices;}
44   Float_t*  GetTRDmomentum()           {return  fTRDmomentum;}
45   Double_t  GetTOFsignal()       const {return  fTOFesdsignal;}
46   Double_t  GetHMPIDsignal()     const {return  fHMPIDsignal;}
47
48   void      GetIntegratedTimes(Double_t timeint[5])  const; 
49   void      GetEMCALPosition  (Double_t emcalpos[3]) const;
50   void      GetEMCALMomentum  (Double_t emcalmom[3]) const;
51
52  private :
53   Double32_t  fITSsignal;        //[0.,0.,10] detector raw signal
54   Double32_t  fTPCsignal;        //[0.,0.,10] detector raw signal
55   UShort_t    fTPCsignalN;       // number of points used for TPC dE/dx
56   Double_t    fTPCmomentum;      // momentum at the inner wall of TPC;
57   Int_t       fTRDnSlices;       // N slices used for PID in the TRD
58   Double32_t* fTRDslices;        //[fTRDnSlices]
59   Float_t     fTRDmomentum[6];   // momentum at the TRD layers
60   Double32_t  fTOFesdsignal;     // TOF signal - t0 (T0 interaction time)
61   Double32_t  fIntTime[5];       // track time hypothesis
62   Double32_t  fHMPIDsignal;      // detector raw signal
63   Double32_t  fEMCALPosition[3]; // global position of track
64                                  // extrapolated to EMCAL surface
65   Double32_t  fEMCALMomentum[3]; // momentum of track
66                                  // extrapolated to EMCAL surface
67
68   ClassDef(AliAODPid, 4);
69 };
70
71 #endif