30 BoostY::BoostY() : fBeta(0.0), fGamma(1.0) {}
32 void BoostY::SetComponents (Scalar by) {
37 "Beta Vector supplied to set BoostY represents speed >= c");
41 fGamma = 1.0 / std::sqrt(1.0-bp2);
44 void BoostY::GetComponents (Scalar& by)
const {
49 DisplacementVector3D< Cartesian3D<BoostY::Scalar> >
50 BoostY::BetaVector()
const {
52 return DisplacementVector3D< Cartesian3D<Scalar> > ( 0.0, fBeta, 0.0 );
55 void BoostY::GetLorentzRotation (Scalar r[])
const {
57 r[kLXX] = 1.0; r[kLXY] = 0.0; r[kLXZ] = 0.0; r[kLXT] = 0.0;
58 r[kLYX] = 0.0; r[kLYY] = fGamma; r[kLYZ] = 0.0; r[kLYT] = fGamma*fBeta;
59 r[kLZX] = 0.0; r[kLZY] = 0.0; r[kLZZ] = 1.0; r[kLZT] = 0.0;
60 r[kLTX] = 0.0; r[kLTY] = fGamma*fBeta; r[kLTZ] = 0.0; r[kLTT] = fGamma;
63 void BoostY::Rectify() {
71 "Attempt to rectify a boost with non-positive gamma");
76 beta /= ( beta * ( 1.0 + 1.0e-16 ) );
78 SetComponents ( beta );
81 LorentzVector< PxPyPzE4D<double> >
82 BoostY::operator() (
const LorentzVector< PxPyPzE4D<double> > & v)
const {
86 return LorentzVector< PxPyPzE4D<double> >
88 , fGamma*y + fGamma*fBeta*t
90 , fGamma*fBeta*y + fGamma*t );
93 void BoostY::Invert() {
98 BoostY BoostY::Inverse()
const {
107 std::ostream & operator<< (std::ostream & os,
const BoostY & b) {
108 os <<
" BoostY( beta: " << b.Beta() <<
", gamma: " << b.Gamma() <<
" ) ";