|
ATLAS Offline Software
|
Go to the documentation of this file.
14 return 1./this->
iPt();
20 const double theCotTh=this->
cotTh();
21 return std::sqrt(1+theCotTh*theCotTh)/this->
iPt() ;
26 const double theCotTh=this->
cotTh();
27 const double theI_Pt=this->
iPt();
28 return (1+theCotTh*theCotTh)/(theI_Pt*theI_Pt) ;
32 const double theM = this->
m();
38 return 1./this->
cotTh() ;
43 const double theCotTh=this->
cotTh();
44 return 1./std::sqrt(1+theCotTh*theCotTh) ;
49 const double theCotTh=this->
cotTh();
50 const double theCotTh2=theCotTh*theCotTh;
51 const double theCosTh=std::sqrt(theCotTh2/(1.+theCotTh2));
63 const double theM=this->
m();
64 const double theP=this->
p();
65 if (theM==0.)
return theP ;
66 else return std::sqrt(theP*theP+theM*theM);
71 const double theCotTh=this->
cotTh();
72 return this->
e()/std::sqrt(1+theCotTh*theCotTh);
78 const double theCotTh=this->
cotTh();
79 const double aux=std::sqrt(1+theCotTh*theCotTh);
80 return -0.5*
log((aux-theCotTh)/(aux+theCotTh));
86 const double theE=this->
e();
87 const double thePz=this->
pz();
88 return 0.5*
std::log((theE+thePz)/(theE-thePz));
116 const double thePt=this->
pt();
117 const double theM=this->
m();
118 const double thePx=thePt*this->
cosPhi();
119 const double thePy=thePt*this->
sinPhi();
120 const double thePz=thePt*this->
cotTh();
121 const double theE=std::sqrt(thePt*thePt+thePz*thePz+theM*theM);
123 return CLHEP::HepLorentzVector(thePx,thePy,thePz,theE);
129 std::stringstream outx;
130 outx <<
"[ipt,cotTh,phi,m] ="
131 << std::right << std::scientific << std::setprecision(8)
132 << std::setw(16) << this->
iPt()
133 << std::setw(16) << this->
cotTh()
134 << std::setw(16) << this->
phi()
135 << std::setw(16) << this->
m();
150 std::cout <<
"FATAL ERROR dummy P4IPtCotThPhiMBase::set4Mom called " << std::endl ;
156 std::cout <<
"FATAL ERROR dummy P4IPtCotThPhiMBase::set4Mom called " << std::endl ;
163 std::cout <<
"FATAL ERROR dummy P4IPtCotThPhiMBase::set4Mom called " << std::endl ;
virtual double sinPhi() const
sinus phi
virtual double pz() const
z component of momentum
virtual double px() const
x component of momentum
virtual double rapidity() const
rapidity
virtual double cotTh() const =0
cottan theta
virtual CLHEP::HepLorentzVector hlv() const
CLHEP HepLorentzVector.
virtual double p() const
momentum magnitude
virtual double m2() const
mass squared
virtual ~P4IPtCotThPhiMBase()
virtual destructor needed by Pool
virtual double e() const
energy
virtual double eta() const
pseudo rapidity
virtual double phi() const =0
phi in [-pi,pi[
virtual std::ostream & dump(std::ostream &out) const
Print I4Momentum content.
virtual double p2() const
square of momentum magnitude
virtual void set4Mom(const I4Momentum &theI4Mom)
set all 4-mom from another I4Momentum reference DUMMY IMPLEMENTATION
virtual double cosPhi() const
cosinus phi
virtual double m() const =0
mass
virtual const I4MomentumError * errors() const
Access to errors, if available; returns 0 if no errors.
virtual double py() const
y component of momentum
virtual double cosTh() const
cosinus theta
virtual double et() const
transverse energy defined to be e*sin(theta)
virtual double iPt() const =0
inverse of transverse momentum
virtual double pt() const
transverse momentum
virtual double sinTh() const
sinus theta
virtual double tanTh() const
tan theta