implementation of effc++
[u/mrichter/AliRoot.git] / PMD / AliPMDUtility.h
index 215f9f1ca02cc0730ca28bc505a2c89a37019582..74ab0816aefc38e340e83ff86f3dea32e70c4f9e 100644 (file)
 //  Utility class for PMD                              //
 //                                                     //
 //-----------------------------------------------------//
+// Author - B.K. Nandi
+//
 #include "Rtypes.h"
 class AliPMDUtility
 {
  public:
   AliPMDUtility();
   AliPMDUtility(Float_t px, Float_t py, Float_t pz);
+  AliPMDUtility(const AliPMDUtility &pmdutil);  // copy constructor
+  AliPMDUtility &operator=(const AliPMDUtility &pmdutil); // assignment op
   virtual ~AliPMDUtility();
 
+
   void RectGeomCellPos(Int_t ism, Int_t xpad, Int_t ypad,
                       Float_t & xpos, Float_t & ypos);
   void RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad,
                       Float_t & xpos, Float_t & ypos);
+  void ApplyVertexCorrection(Float_t vertex[], 
+                            Float_t xpos, Float_t ypos, Float_t zpos);
+  void ApplyAlignment();
   void SetPxPyPz(Float_t px, Float_t py, Float_t pz);
   void SetXYZ(Float_t xpos, Float_t ypos, Float_t zpos);
   void CalculateEta();
   void CalculatePhi();
   void CalculateEtaPhi();
+  void CalculateXY(Float_t eta, Float_t phi, Float_t zpos);
   Float_t GetTheta() const;
   Float_t GetEta() const;
   Float_t GetPhi() const;
+  Float_t GetX() const;
+  Float_t GetY() const;
+  Float_t GetZ() const;
   
  protected:
   Float_t fPx;     // Momentum along x
@@ -39,7 +51,7 @@ class AliPMDUtility
   Float_t fEta;    // Pseudo-rapidity
   Float_t fPhi;    // Azimuthal angle in radian
   
-  ClassDef(AliPMDUtility,3) // Utility class for the detector set:PMD
+  ClassDef(AliPMDUtility,4) // Utility class for the detector set:PMD
 };
 
 #endif