21 double bp2 = bx*bx + by*by + bz*bz;
26 double ggamma = 1.0 / std::sqrt(1.0 - bp2);
27 double bgamma = ggamma * ggamma / (1.0 + ggamma);
28 rep_.
xx_ = 1.0 + bgamma * bx * bx;
29 rep_.
yy_ = 1.0 + bgamma * by * by;
30 rep_.
zz_ = 1.0 + bgamma * bz * bz;
47 double length = ddirection.
mag();
49 std::cerr <<
"HepBoost::set() - "
50 <<
"Direction supplied to set HepBoost is zero." << std::endl;
54 set(bbeta*ddirection.
x()/length,
55 bbeta*ddirection.
y()/length,
56 bbeta*ddirection.
z()/length);
61 return set (bboost.
x(), bboost.
y(), bboost.
z());
96 double dr2 = r.
norm2();
105 double dr2 = r1.
norm2();
118 double db2 =
norm2();
120 double dr2 = r.
norm2();
131 double dr2 = r1.
norm2();
141 return bgx*bgx+bgy*bgy+bgz*bgz;
162 std::cerr <<
"HepBoost::rectify() - "
163 <<
"Attempt to rectify a boost with non-positive gamma." << std::endl;
168 if ( boost.
mag2() >= 1 ) {
169 boost /= ( boost.
mag() * ( 1.0 + 1.0e-16 ) );
247 os <<
"Lorentz Boost( IDENTITY )";
251 "\n{beta = " <<
beta() <<
" gamma = " <<
gamma() <<
"}\n";
G4double epsilon(G4double density, G4double temperature)
HepBoost & set(double betaX, double betaY, double betaZ)
HepRep4x4Symmetric rep4x4Symmetric() const
void decompose(HepRotation &rotation, HepBoost &boost) const
HepLorentzRotation matrixMultiplication(const HepRep4x4 &m) const
bool isNear(const HepBoost &b, double epsilon=Hep4RotationInterface::tolerance) const
HepLorentzVector operator*(const HepLorentzVector &p) const
double howNear(const HepBoost &b) const
double distance2(const HepBoost &b) const
Hep3Vector boostVector() const
std::ostream & print(std::ostream &os) const
void decompose(Hep3Vector &boost, HepAxisAngle &rotation) const