Code needed to add the momenta at the TPC and at the TRD. (Rosella Romita)
[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      SetTPCmomentum(Double_t tpcMom)                    {fTPCmomentum=tpcMom;}
29   void      SetTRDsignal(Int_t nslices, Double_t* trdslices)   {fTRDnSlices = nslices; fTRDslices=trdslices;}
30   void      SetTRDmomentum(Int_t nplane, Float_t trdMom)       {fTRDmomentum[nplane]=trdMom;}
31   void      SetTOFsignal(Double_t tof)                         {fTOFesdsignal=tof;}
32   void      SetIntegratedTimes(Double_t timeint[5]);
33   void      SetHMPIDsignal(Double_t hmpid)                     {fHMPIDsignal=hmpid;}
34   void      SetEMCALPosition(Double_t emcalpos[3]);
35   void      SetEMCALMomentum(Double_t emcalmom[3]);
36
37   Double_t  GetITSsignal()       const {return  fITSsignal;}
38   Double_t  GetTPCsignal()       const {return  fTPCsignal;}
39   Double_t  GetTPCmomentum()     const {return  fTPCmomentum;}
40   Int_t     GetTRDnSlices()      const {return  fTRDnSlices;}
41   Double_t* GetTRDsignal()       const {return  fTRDslices;}
42   Float_t*  GetTRDmomentum()           {return  fTRDmomentum;}
43   Double_t  GetTOFsignal()       const {return  fTOFesdsignal;}
44   Double_t  GetHMPIDsignal()     const {return  fHMPIDsignal;}
45
46   void      GetIntegratedTimes(Double_t timeint[5])  const; 
47   void      GetEMCALPosition  (Double_t emcalpos[3]) const;
48   void      GetEMCALMomentum  (Double_t emcalmom[3]) const;
49
50  private :
51   Double32_t  fITSsignal;        //[0.,0.,10] detector raw signal
52   Double32_t  fTPCsignal;        //[0.,0.,10] detector raw signal
53   Double_t    fTPCmomentum;      // momentum at the inner wall of TPC;
54   Int_t       fTRDnSlices;       // N slices used for PID in the TRD
55   Double32_t* fTRDslices;        //[fTRDnSlices]
56   Float_t     fTRDmomentum[6];   // momentum at the TRD layers
57   Double32_t  fTOFesdsignal;     // TOF signal - t0 (T0 interaction time)
58   Double32_t  fIntTime[5];       // track time hypothesis
59   Double32_t  fHMPIDsignal;      // detector raw signal
60   Double32_t  fEMCALPosition[3]; // global position of track
61                                  // extrapolated to EMCAL surface
62   Double32_t  fEMCALMomentum[3]; // momentum of track
63                                  // extrapolated to EMCAL surface
64
65   ClassDef(AliAODPid, 3);
66 };
67
68 #endif