10 #pragma implementation 13 #include "CLHEP/Vector/defs.h" 14 #include "CLHEP/Vector/BoostX.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" 26 double b2 = bbeta*bbeta;
29 "Beta supplied to set HepBoostX represents speed >= c."));
31 gamma_ = 1.0 / std::sqrt(1.0 - b2);
35 gamma_ = 1.0 / std::sqrt(1.0 - b2);
91 double dr2 = r.
norm2();
100 double dr2 = r1.
norm2();
105 double db2 =
norm2();
106 if (db2 > epsilon*epsilon)
return false;
107 double dr2 = r.
norm2();
108 return (db2+dr2 <= epsilon*epsilon);
112 double epsilon)
const {
117 if (db2 > epsilon*epsilon)
return false;
118 double dr2 = r1.
norm2();
131 beta_ = 1.0 - 1.0e-8;
134 gamma_ = 1.0 / std::sqrt(1.0 - b2);
160 os <<
"Boost in X direction (beta = " <<
beta_ 161 <<
", gamma = " <<
gamma_ <<
") ";
void decompose(Hep3Vector &boost, HepAxisAngle &rotation) const
HepRep4x4Symmetric rep4x4Symmetric() const
Hep3Vector boostVector() const
bool isNear(const HepBoostX &b, double epsilon=Hep4RotationInterface::tolerance) const
double distance2(const HepBoost &b) const
std::ostream & print(std::ostream &os) const
double distance2(const HepBoostX &b) const
HepLorentzVector operator*(const HepLorentzVector &w) const
HepBoostX & set(double beta)
void decompose(HepRotation &rotation, HepBoost &boost) const