From: bnandi Date: Tue, 22 Aug 2006 08:30:16 +0000 (+0000) Subject: implementation of effc++ X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=5d35baec9ed4226872d05209ed77a8844c32d153;ds=inline implementation of effc++ --- diff --git a/PMD/AliPMDUtility.cxx b/PMD/AliPMDUtility.cxx index 402775df6d6..54797b09ef6 100644 --- a/PMD/AliPMDUtility.cxx +++ b/PMD/AliPMDUtility.cxx @@ -30,28 +30,51 @@ ClassImp(AliPMDUtility) -AliPMDUtility::AliPMDUtility() +AliPMDUtility::AliPMDUtility(): + fPx(0.), + fPy(0.), + fPz(0.), + fTheta(0.), + fEta(0.), + fPhi(0.) { // Default constructor - fPx = 0.; - fPy = 0.; - fPz = 0.; - fTheta = 0.; - fEta = 0.; - fPhi = 0.; } -AliPMDUtility::AliPMDUtility(Float_t px, Float_t py, Float_t pz) +AliPMDUtility::AliPMDUtility(Float_t px, Float_t py, Float_t pz): + fPx(px), + fPy(py), + fPz(pz), + fTheta(0.), + fEta(0.), + fPhi(0.) { // Constructor - fPx = px; - fPy = py; - fPz = pz; - fTheta = 0.; - fEta = 0.; - fPhi = 0.; } - +AliPMDUtility::AliPMDUtility(const AliPMDUtility &pmdutil): + fPx(pmdutil.fPx), + fPy(pmdutil.fPy), + fPz(pmdutil.fPz), + fTheta(pmdutil.fTheta), + fEta(pmdutil.fEta), + fPhi(pmdutil.fPhi) +{ + // copy constructor +} +AliPMDUtility & AliPMDUtility::operator=(const AliPMDUtility &pmdutil) +{ + // assignment operator + if(this != &pmdutil) + { + fPx = pmdutil.fPx; + fPy = pmdutil.fPy; + fPz = pmdutil.fPz; + fTheta = pmdutil.fTheta; + fEta = pmdutil.fEta; + fPhi = pmdutil.fPhi; + } + return *this; +} AliPMDUtility::~AliPMDUtility() { // Default destructor @@ -236,6 +259,18 @@ void AliPMDUtility::RectGeomCellPos(Int_t ism, Float_t xpad, Float_t ypad, Float } } +void AliPMDUtility::ApplyVertexCorrection(Float_t vertex[], Float_t xpos, + Float_t ypos, Float_t zpos) +{ + // Not implemented + fPx = xpos - vertex[0]; + fPy = ypos - vertex[1]; + fPz = zpos - vertex[2]; +} +void AliPMDUtility::ApplyAlignment() +{ + // Not implemented +} void AliPMDUtility::SetPxPyPz(Float_t px, Float_t py, Float_t pz) { @@ -295,7 +330,7 @@ void AliPMDUtility::CalculateEtaPhi() theta = TMath::ATan2(rpxpy,fPz); eta = -TMath::Log(TMath::Tan(0.5*theta)); - if(fPx==0) + if(fPx == 0) { if(fPy>0) phi = 90.; if(fPy<0) phi = 270.; @@ -317,6 +352,22 @@ void AliPMDUtility::CalculateEtaPhi() fEta = eta; fPhi = phi; } +void AliPMDUtility::CalculateXY(Float_t eta, Float_t phi, Float_t zpos) +{ + // Not implemented + + // eta = -TMath::Log(TMath::Tan(0.5*theta)); + + Float_t xpos = 0., ypos = 0.; + + // Float_t theta = 2.0*TMath::ATan(TMath::Log(-eta)); + + fEta = eta; + fPhi = phi; + fPx = xpos; + fPy = ypos; + fPz = zpos; +} Float_t AliPMDUtility::GetTheta() const { return fTheta; @@ -329,4 +380,16 @@ Float_t AliPMDUtility::GetPhi() const { return fPhi; } +Float_t AliPMDUtility::GetX() const +{ + return fPx; +} +Float_t AliPMDUtility::GetY() const +{ + return fPy; +} +Float_t AliPMDUtility::GetZ() const +{ + return fPz; +} diff --git a/PMD/AliPMDUtility.h b/PMD/AliPMDUtility.h index 215f9f1ca02..74ab0816aef 100644 --- a/PMD/AliPMDUtility.h +++ b/PMD/AliPMDUtility.h @@ -10,26 +10,38 @@ // 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