X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PMD%2FAliPMDUtility.h;h=dbdbc45355bf425e02f2ab0b295b76f4b1eca5d2;hb=fa3863565131b42cdea80f9eb8de43c45be023cf;hp=5133287dedd5cf5771fdcafd28ae04c0667756ce;hpb=f117e3aa6c8ddeb823bcab5e44d17c28c6a0815d;p=u%2Fmrichter%2FAliRoot.git diff --git a/PMD/AliPMDUtility.h b/PMD/AliPMDUtility.h index 5133287dedd..dbdbc45355b 100644 --- a/PMD/AliPMDUtility.h +++ b/PMD/AliPMDUtility.h @@ -10,38 +10,63 @@ // Utility class for PMD // // // //-----------------------------------------------------// +// Author - +// #include "Rtypes.h" -class AliPMDUtility + + +class AliPMDUtility:public TObject { 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 ium, - Int_t xpad, Int_t ypad, + + void RectGeomCellPos(Int_t ism, Int_t xpad, Int_t ypad, Float_t & xpos, Float_t & ypos); - void RectGeomCellPos(Int_t ism, Int_t ium, - Float_t xpad, Float_t ypad, + void RectGeomCellPos(Int_t ism, Float_t xpad, Float_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, Float_t & zpos); + + void GenerateBoundaryPoints(Int_t ism, Float_t &x1ism, Float_t &y1ism + , Float_t &x2ism, Float_t &y2ism); + + void DrawPMDModule(Int_t idet); + + void ApplyVertexCorrection(Float_t vertex[], + Float_t xpos, Float_t ypos, Float_t zpos); + void ApplyAlignment(Double_t sectr[][3]); void SetPxPyPz(Float_t px, Float_t py, Float_t pz); void SetXYZ(Float_t xpos, Float_t ypos, Float_t zpos); + void SetWriteModule(Int_t wrmod); 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 Float_t fPy; // Momentum along y Float_t fPz; // Momentum along z Float_t fTheta; // Polar angle in radian Float_t fEta; // Pseudo-rapidity Float_t fPhi; // Azimuthal angle in radian + Float_t fSecTr[4][3]; // Sector alignement (translation) + Int_t fWriteModule; // Module number writing - ClassDef(AliPMDUtility,2) // Utility class for the detector set:PMD + ClassDef(AliPMDUtility,7) // Utility class for the detector set:PMD }; #endif