30 BoostZ::BoostZ() : fBeta(0.0), fGamma(1.0) {}
32 void BoostZ::SetComponents (Scalar bz) {
37 "Beta Vector supplied to set BoostZ represents speed >= c");
41 fGamma = 1.0 / std::sqrt(1.0 - bp2);
44 void BoostZ::GetComponents (Scalar& bz)
const {
49 DisplacementVector3D< Cartesian3D<BoostZ::Scalar> >
50 BoostZ::BetaVector()
const {
52 return DisplacementVector3D< Cartesian3D<Scalar> >
56 void BoostZ::GetLorentzRotation (Scalar r[])
const {
58 r[kLXX] = 1.0; r[kLXY] = 0.0; r[kLXZ] = 0.0; r[kLXT] = 0.0 ;
59 r[kLYX] = 0.0; r[kLYY] = 1.0; r[kLYZ] = 0.0; r[kLYT] = 0.0 ;
60 r[kLZX] = 0.0; r[kLZY] = 0.0; r[kLZZ] = fGamma; r[kLZT] = fGamma*fBeta;
61 r[kLTX] = 0.0; r[kLTY] = 0.0; r[kLTZ] = fGamma*fBeta; r[kLTT] = fGamma;
64 void BoostZ::Rectify() {
72 "Attempt to rectify a boost with non-positive gamma");
77 beta /= ( beta * ( 1.0 + 1.0e-16 ) );
79 SetComponents ( beta );
82 LorentzVector< PxPyPzE4D<double> >
83 BoostZ::operator() (
const LorentzVector< PxPyPzE4D<double> > & v)
const {
87 return LorentzVector< PxPyPzE4D<double> >
90 , fGamma*z + fGamma*fBeta*t
91 , fGamma*fBeta*z + fGamma*t );
94 void BoostZ::Invert() {
99 BoostZ BoostZ::Inverse()
const {
108 std::ostream & operator<< (std::ostream & os,
const BoostZ & b) {
109 os <<
" BoostZ( beta: " << b.Beta() <<
", gamma: " << b.Gamma() <<
" ) ";