9#include "CLHEP/Vector/defs.h"
10#include "CLHEP/Vector/BoostZ.h"
11#include "CLHEP/Vector/Boost.h"
12#include "CLHEP/Vector/Rotation.h"
13#include "CLHEP/Vector/LorentzRotation.h"
14#include "CLHEP/Vector/ZMxpv.h"
24 double b2 = bbeta*bbeta;
27 "Beta supplied to set HepBoostZ represents speed >= c."));
29 gamma_ = 1.0 / std::sqrt(1.0 - b2);
33 gamma_ = 1.0 / std::sqrt(1.0 - b2);
89 double dr2 = r.
norm2();
98 double dr2 = r1.
norm2();
103 double db2 =
norm2();
104 if (db2 > epsilon*epsilon)
return false;
105 double dr2 = r.
norm2();
106 return (db2+dr2 <= epsilon*epsilon);
110 double epsilon )
const {
115 if (db2 > epsilon*epsilon)
return false;
116 double dr2 = r1.
norm2();
129 beta_ = 1.0 - 1.0e-8;
132 gamma_ = 1.0 / std::sqrt(1.0 - b2);
158 os <<
"Boost in Z direction (beta = " <<
beta_
159 <<
", gamma = " <<
gamma_ <<
") ";
HepBoostZ & set(double beta)
bool isNear(const HepBoostZ &b, double epsilon=Hep4RotationInterface::tolerance) const
Hep3Vector boostVector() const
std::ostream & print(std::ostream &os) const
HepRep4x4Symmetric rep4x4Symmetric() const
double distance2(const HepBoostZ &b) const
void decompose(HepRotation &rotation, HepBoost &boost) const
HepLorentzVector operator*(const HepLorentzVector &w) const
double distance2(const HepBoost &b) const
void decompose(Hep3Vector &boost, HepAxisAngle &rotation) const