Go to the documentation of this file.
10 #pragma implementation
13 #include "CLHEP/Vector/defs.h"
14 #include "CLHEP/Vector/BoostY.h"
15 #include "CLHEP/Vector/Boost.h"
16 #include "CLHEP/Vector/Rotation.h"
17 #include "CLHEP/Vector/LorentzRotation.h"
18 #include "CLHEP/Vector/ZMxpv.h"
25 double b2 = bbeta*bbeta;
28 "Beta supplied to set HepBoostY represents speed >= c."));
30 gamma_ = 1.0 / std::sqrt(1.0 - b2);
34 gamma_ = 1.0 / std::sqrt(1.0 - b2);
85 return b.distance2(*
this);
90 double dr2 = r.
norm2();
99 double dr2 = r1.
norm2();
104 double db2 =
norm2();
105 if (db2 > epsilon*epsilon)
return false;
106 double dr2 = r.
norm2();
107 return (db2+dr2 <= epsilon*epsilon);
111 double epsilon )
const {
116 if (db2 > epsilon*epsilon)
return false;
117 double dr2 = r1.
norm2();
130 beta_ = 1.0 - 1.0e-8;
133 gamma_ = 1.0 / std::sqrt(1.0 - b2);
159 os <<
"Boost in Y direction (beta = " <<
beta_
160 <<
", gamma = " <<
gamma_ <<
") ";
namespace and inside the zmpv namespace it typedef s UnitVector to be HepUnit3Vector The conversion which provide those methods available for GETTING INFORMATION if an object might be either a Rotation or a since RI has methods a routine can be passed a RI &and take because anything you wish to ask about a LT you could equally well ask about a Rotation From one derives Rotation and its special cases RotationX etc We can t derive RotationX from from one derives HepLorentzRotation along with HepBoost
HepBoostY & set(double beta)
std::ostream & print(std::ostream &os) const
void decompose(HepRotation &rotation, HepBoost &boost) const
double distance2(const HepBoostY &b) const
Hep3Vector boostVector() const
HepLorentzVector operator*(const HepLorentzVector &w) const
bool isNear(const HepBoostY &b, double epsilon=Hep4RotationInterface::tolerance) const
HepRep4x4Symmetric rep4x4Symmetric() const
void decompose(Hep3Vector &boost, HepAxisAngle &rotation) const
it has advantages For I leave the ZMthrows but substitute I replaced ZMthrow with ZMthrowA in this package ZMthrowA