change for rectangular geometry
[u/mrichter/AliRoot.git] / PMD / AliPMDUtility.h
1 #ifndef PMDUtility_H
2 #define PMDUtility_H
3 //-----------------------------------------------------//
4 //                                                     //
5 //                                                     //
6 //  Date   : August 05 2003                            //
7 //                                                     //
8 //  Utility class for PMD                              //
9 //                                                     //
10 //-----------------------------------------------------//
11
12 #include <math.h>
13 #include "Riostream.h"
14 #include "TMath.h"
15 #include "Rtypes.h"
16
17 class AliPMDUtility
18 {
19   
20  protected:
21   Float_t fPx, fPy, fPz;
22   Float_t fTheta, fEta, fPhi;
23
24  public:
25   AliPMDUtility();
26   AliPMDUtility(Float_t /* Px */, Float_t /* Py */, Float_t /* Pz */);
27   virtual ~AliPMDUtility();
28
29   void HexGeomCellPos(Int_t /* ism */, Int_t /* xpad */, Int_t /* ypad */,
30                 Float_t & /* xpos */, Float_t & /* ypos */);
31   void RectGeomCellPos(Int_t /* ism */, Int_t /* ium */, 
32                        Int_t /* xpad */, Int_t /* ypad */,
33                        Float_t & /* xpos */, Float_t & /* ypos */);
34   void SetPxPyPz(Float_t /* Px */, Float_t /* Py */, Float_t /* Pz */);
35   void SetXYZ(Float_t /* xPos */, Float_t /* yPos */, Float_t /* zPos */);
36   void CalculateEta();
37   void CalculatePhi();
38   void CalculateEtaPhi();
39   Float_t GetTheta() const;
40   Float_t GetEta() const;
41   Float_t GetPhi() const;
42   
43   ClassDef(AliPMDUtility,1)
44 };
45
46 #endif