16 inline HepBoostY::HepBoostY() : beta_(0.0), gamma_(1.0) {}
18 inline HepBoostY::HepBoostY(
const HepBoostY & b) :
22 inline HepBoostY & HepBoostY::operator = (
const HepBoostY & b) {
28 inline HepBoostY::HepBoostY(
double bbeta) {
set(bbeta); }
31 inline HepBoostY::HepBoostY(
double bbeta,
double ggamma ) :
32 beta_(bbeta), gamma_(ggamma) {}
36 inline double HepBoostY::beta()
const {
40 inline double HepBoostY::gamma()
const {
44 inline Hep3Vector HepBoostY::boostVector()
const {
45 return Hep3Vector( 0, beta_, 0 );
48 inline Hep3Vector HepBoostY::getDirection()
const {
49 return Hep3Vector( 0.0, 1.0, 0.0 );
52 inline double HepBoostY::xx()
const {
return 1.0;}
53 inline double HepBoostY::xy()
const {
return 0.0;}
54 inline double HepBoostY::xz()
const {
return 0.0;}
55 inline double HepBoostY::xt()
const {
return 0.0;}
56 inline double HepBoostY::yx()
const {
return 0.0;}
57 inline double HepBoostY::yy()
const {
return gamma();}
58 inline double HepBoostY::yz()
const {
return 0.0;}
59 inline double HepBoostY::yt()
const {
return beta()*gamma();}
60 inline double HepBoostY::zx()
const {
return 0.0;}
61 inline double HepBoostY::zy()
const {
return 0.0;}
62 inline double HepBoostY::zz()
const {
return 1.0;}
63 inline double HepBoostY::zt()
const {
return 0.0;}
64 inline double HepBoostY::tx()
const {
return 0.0;}
65 inline double HepBoostY::ty()
const {
return beta()*gamma();}
66 inline double HepBoostY::tz()
const {
return 0.0;}
67 inline double HepBoostY::tt()
const {
return gamma();}
69 inline HepLorentzVector HepBoostY::col1()
const {
70 return HepLorentzVector ( 1, 0, 0, 0 );
72 inline HepLorentzVector HepBoostY::col2()
const {
73 return HepLorentzVector ( 0, gamma(), 0, beta()*gamma() );
75 inline HepLorentzVector HepBoostY::col3()
const {
76 return HepLorentzVector ( 0, 0, 1, 0 );
78 inline HepLorentzVector HepBoostY::col4()
const {
79 return HepLorentzVector ( 0, beta()*gamma(), 0, gamma() );
82 inline HepLorentzVector HepBoostY::row1()
const {
83 return HepLorentzVector ( col1() );
85 inline HepLorentzVector HepBoostY::row2()
const {
86 return HepLorentzVector ( col2() );
88 inline HepLorentzVector HepBoostY::row3()
const {
89 return HepLorentzVector ( col3() );
91 inline HepLorentzVector HepBoostY::row4()
const {
92 return HepLorentzVector ( col4() );
97 inline int HepBoostY::compare(
const HepBoostY & b )
const {
98 if (beta() < b.beta()) {
100 }
else if (beta() > b.beta()) {
107 inline bool HepBoostY::operator == (
const HepBoostY & b )
const {
108 return beta_ == b.beta_;
110 inline bool HepBoostY::operator != (
const HepBoostY & b )
const {
111 return beta_ != b.beta_;
113 inline bool HepBoostY::operator <= (
const HepBoostY & b )
const {
114 return beta_ <= b.beta_;
116 inline bool HepBoostY::operator >= (
const HepBoostY & b )
const {
117 return beta_ >= b.beta_;
119 inline bool HepBoostY::operator < (
const HepBoostY & b )
const {
120 return beta_ < b.beta_;
122 inline bool HepBoostY::operator > (
const HepBoostY & b )
const {
123 return beta_ > b.beta_;
127 inline bool HepBoostY::isIdentity()
const {
128 return ( beta() == 0 );
131 inline double HepBoostY::distance2(
const HepBoostY & b )
const {
132 double d = beta()*gamma() - b.beta()*b.gamma();
136 inline double HepBoostY::howNear(
const HepBoostY & b)
const {
137 return std::sqrt(distance2(b)); }
138 inline double HepBoostY::howNear(
const HepBoost & b)
const {
139 return std::sqrt(distance2(b)); }
140 inline double HepBoostY::howNear(
const HepRotation & r)
const {
141 return std::sqrt(distance2(r)); }
142 inline double HepBoostY::howNear(
const HepLorentzRotation & lt)
const {
143 return std::sqrt(distance2(lt)); }
145 inline bool HepBoostY::isNear(
const HepBoostY & b,
146 double epsilon)
const {
147 return (distance2(b) <= epsilon*epsilon);
149 inline bool HepBoostY::isNear(
const HepBoost & b,
150 double epsilon)
const {
151 return (distance2(b) <= epsilon*epsilon);
156 double HepBoostY::norm2()
const {
157 double bg = beta_*gamma_;
163 inline HepLorentzVector
165 double bg = beta_*gamma_;
166 return HepLorentzVector( p.x(),
167 gamma_*p.y() + bg*p.t(),
169 gamma_*p.t() + bg*p.y());
172 HepLorentzVector HepBoostY::operator() (
const HepLorentzVector & w)
const {
178 inline HepBoostY HepBoostY::inverse()
const {
179 return HepBoostY( -beta(), gamma() );
183 return HepBoostY( -b.beta(), b.gamma());
186 inline HepBoostY & HepBoostY::invert() {
193 inline double HepBoostY::getTolerance() {
194 return Hep4RotationInterface::tolerance;
196 inline double HepBoostY::setTolerance(
double tol) {
197 return Hep4RotationInterface::setTolerance(tol);
HepLorentzVector operator*(const HepLorentzVector &p, double a)
HepBoostY inverseOf(const HepBoostY &b)