]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/UserTasks/AliCaloClusterInfo.h
Code fixes, important for c++98, necessary for c++11:
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / UserTasks / AliCaloClusterInfo.h
1 #ifndef ALICALOCLUSTERINFO_H
2 #define ALICALOCLUSTERINFO_H
3
4 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //***********************************************************
8 // Class AliCaloClusterInfo
9 // class used to extract and store reco info of calo cluster
10 // Author: H-S. Zhu, hongsheng.zhu@cern.ch
11 //                   hszhu@iopp.ccnu.edu.cn
12 //***********************************************************
13
14 #include <TObject.h>
15 #include <TString.h>
16 #include <TLorentzVector.h>
17
18 class AliESDEvent;
19 class AliVCluster;
20
21 class AliCaloClusterInfo : public TObject{
22  public:
23  
24   AliCaloClusterInfo();
25   AliCaloClusterInfo(AliVCluster* const clust, AliESDEvent* const esd, Int_t relID[4], Double_t mf);
26   AliCaloClusterInfo(const AliCaloClusterInfo &src);
27   AliCaloClusterInfo& operator=(const AliCaloClusterInfo &src);
28   virtual ~AliCaloClusterInfo();
29
30   TLorentzVector LorentzVector() const { return fLorentzVector; }
31
32   Int_t    GetModule()         const { return fModule;          }
33   Int_t    GetTRUNumber()      const { return fTRUNumber;       }
34   Int_t    GetNCells()         const { return fNCells;          }
35   UInt_t   GetPIDBit()         const { return fPIDBit;          }
36   Double_t GetDistToBad()      const { return fDistToBad;       }
37   Double_t GetEmcCpvDistance() const { return fEmcCpvDistance;  }
38   Double_t GetM02()            const { return fM02;             }
39   Double_t GetM20()            const { return fM20;             }
40   Double_t GetTOF()            const { return fTOF;             }
41
42   void SetLorentzVector(TLorentzVector momentum) { fLorentzVector = momentum; }
43   void SetPIDBit(UInt_t bit)                     { fPIDBit       |= bit;      }
44
45   Bool_t   IsInFiducialRegion(Int_t cellX, Int_t cellZ);
46   Double_t TestDisp();
47
48  private:
49
50   void FillCaloClusterInfo(AliVCluster* const clust, AliESDEvent* const esd, Int_t relID[4], Double_t mf);
51
52   Int_t    GetTRUNumber(Int_t cellX, Int_t cellZ);
53   Double_t TestCpv(Double_t trkPt, Short_t trkCharge, Double_t trkDz, Double_t trkDx, Double_t mf);
54
55   TLorentzVector fLorentzVector;
56
57   Int_t    fModule;
58   Int_t    fTRUNumber;          // TRU Number
59   Int_t    fNCells;             // Number of cells in cluster
60   UInt_t   fPIDBit;             // PID Bit
61   Double_t fDistToBad ;         // Distance to nearest bad channel
62   Double_t fEmcCpvDistance;     // Distance from PHOS EMC rec.point to the closest CPV rec.point
63   Double_t fM02;                // lambda0
64   Double_t fM20;                // lambda1
65   Double_t fTOF;
66
67   ClassDef(AliCaloClusterInfo,1);
68 };
69
70 #endif // #ifdef ALICALOCLUSTERINFO_H