a918d77a |
1 | #ifndef ALIPMDUTILITY_H |
2 | #define ALIPMDUTILITY_H |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
638f6e9b |
5 | //-----------------------------------------------------// |
6 | // // |
7 | // // |
8 | // Date : August 05 2003 // |
9 | // // |
10 | // Utility class for PMD // |
11 | // // |
12 | //-----------------------------------------------------// |
5d35baec |
13 | // Author - B.K. Nandi |
14 | // |
638f6e9b |
15 | #include "Rtypes.h" |
638f6e9b |
16 | class AliPMDUtility |
17 | { |
638f6e9b |
18 | public: |
19 | AliPMDUtility(); |
a918d77a |
20 | AliPMDUtility(Float_t px, Float_t py, Float_t pz); |
5d35baec |
21 | AliPMDUtility(const AliPMDUtility &pmdutil); // copy constructor |
22 | AliPMDUtility &operator=(const AliPMDUtility &pmdutil); // assignment op |
638f6e9b |
23 | virtual ~AliPMDUtility(); |
afb8e3a0 |
24 | |
5d35baec |
25 | |
01c4d84a |
26 | void RectGeomCellPos(Int_t ism, Int_t xpad, Int_t ypad, |
a918d77a |
27 | Float_t & xpos, Float_t & ypos); |
01c4d84a |
28 | void RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad, |
a918d77a |
29 | Float_t & xpos, Float_t & ypos); |
5d35baec |
30 | void ApplyVertexCorrection(Float_t vertex[], |
31 | Float_t xpos, Float_t ypos, Float_t zpos); |
32 | void ApplyAlignment(); |
a918d77a |
33 | void SetPxPyPz(Float_t px, Float_t py, Float_t pz); |
34 | void SetXYZ(Float_t xpos, Float_t ypos, Float_t zpos); |
638f6e9b |
35 | void CalculateEta(); |
36 | void CalculatePhi(); |
37 | void CalculateEtaPhi(); |
5d35baec |
38 | void CalculateXY(Float_t eta, Float_t phi, Float_t zpos); |
638f6e9b |
39 | Float_t GetTheta() const; |
40 | Float_t GetEta() const; |
41 | Float_t GetPhi() const; |
5d35baec |
42 | Float_t GetX() const; |
43 | Float_t GetY() const; |
44 | Float_t GetZ() const; |
638f6e9b |
45 | |
a918d77a |
46 | protected: |
47 | Float_t fPx; // Momentum along x |
48 | Float_t fPy; // Momentum along y |
49 | Float_t fPz; // Momentum along z |
50 | Float_t fTheta; // Polar angle in radian |
51 | Float_t fEta; // Pseudo-rapidity |
52 | Float_t fPhi; // Azimuthal angle in radian |
53 | |
5d35baec |
54 | ClassDef(AliPMDUtility,4) // Utility class for the detector set:PMD |
638f6e9b |
55 | }; |
56 | |
57 | #endif |