1 //-----------------------------------------------------//
4 // Date : August 05 2003 //
6 // Utility code for ALICE-PMD //
8 //-----------------------------------------------------//
10 #include "AliPMDUtility.h"
14 ClassImp(AliPMDUtility)
16 AliPMDUtility::AliPMDUtility()
26 AliPMDUtility::AliPMDUtility(Float_t Px, Float_t Py, Float_t Pz)
36 AliPMDUtility::~AliPMDUtility()
41 void AliPMDUtility::SetPxPyPz(Float_t Px, Float_t Py, Float_t Pz)
48 void AliPMDUtility::SetXYZ(Float_t xPos, Float_t yPos, Float_t zPos)
54 void AliPMDUtility::CalculateEta()
56 Float_t rpxpy, theta, eta;
58 rpxpy = TMath::Sqrt(fPx*fPx + fPy*fPy);
59 theta = TMath::ATan2(rpxpy,fPz);
60 eta = -TMath::Log(TMath::Tan(0.5*theta));
64 void AliPMDUtility::CalculatePhi()
66 Float_t pybypx, phi = 0., phi1;
76 if(pybypx < 0) pybypx = - pybypx;
77 phi1 = TMath::ATan(pybypx)*180./3.14159;
78 if(fPx < 0 && fPy > 0) phi = 180 - phi1;
79 if(fPx < 0 && fPy < 0) phi = 180 + phi1;
80 if(fPx > 0 && fPy < 0) phi = 360 - phi1;
81 if(fPx > 0 && fPy > 0) phi = phi1;
83 phi = phi*3.14159/180.;
88 void AliPMDUtility::CalculateEtaPhi()
90 Float_t rpxpy, theta, eta;
91 Float_t pybypx, phi = 0., phi1;
93 rpxpy = TMath::Sqrt(fPx*fPx + fPy*fPy);
94 theta = TMath::ATan2(rpxpy,fPz);
95 eta = -TMath::Log(TMath::Tan(0.5*theta));
100 if(fPy<0) phi = 270.;
105 if(pybypx < 0) pybypx = - pybypx;
106 phi1 = TMath::ATan(pybypx)*180./3.14159;
107 if(fPx < 0 && fPy > 0) phi = 180 - phi1;
108 if(fPx < 0 && fPy < 0) phi = 180 + phi1;
109 if(fPx > 0 && fPy < 0) phi = 360 - phi1;
110 if(fPx > 0 && fPy > 0) phi = phi1;
112 phi = phi*3.14159/180.;
118 Float_t AliPMDUtility::GetTheta() const
122 Float_t AliPMDUtility::GetEta() const
126 Float_t AliPMDUtility::GetPhi() const