10 #pragma implementation
13 #include "CLHEP/Vector/defs.h"
14 #include "CLHEP/Vector/LorentzRotation.h"
29 betaVec *= 1.0 / tt();
30 bboost.
set( betaVec );
63 betaVec *= 1.0 / tt();
64 bboost.
set( betaVec );
95 double dr2 = r1.
norm2();
103 double db2 = b1.
norm2( );
105 return ( db2 + dr2 );
118 return ( db2 + dr2 );
132 const HepBoost &
b,
double epsilon )
const {
137 if ( db2 > epsilon*epsilon ) {
140 double dr2 = r1.
norm2();
141 return ( (db2 + dr2) <= epsilon*epsilon );
149 double db2 = b1.
norm2();
150 if ( db2 > epsilon*epsilon ) {
154 return ( (db2 + dr2) <= epsilon*epsilon );
166 if ( db2 > epsilon*epsilon ) {
170 return ( (db2 + dr2) <= epsilon*epsilon );
195 ZMthrowA ( ZMxpvImproperTransformation (
196 "rectify() on a transformation with tt() <= 0 - will not help!" ));
209 set ( Rgood, HepBoost(beta) );
HepAxisAngle axisAngle() const
Hep3Vector boostVector() const
HepBoost & set(double betaX, double betaY, double betaZ)
HepRotation & set(const Hep3Vector &axis, double delta)
bool isNear(const HepBoost &b, double epsilon=Hep4RotationInterface::tolerance) const
double distance2(const HepBoost &b) const
double distance2(const HepBoost &b) const
double distance2(const HepRotation &r) const
double howNear(const HepBoost &b) const
void decompose(Hep3Vector &boost, HepAxisAngle &rotation) const
HepLorentzRotation & set(double bx, double by, double bz)