20 #ifndef HEP_ROTATIONY_H
21 #define HEP_ROTATIONY_H
27 #include "CLHEP/Vector/defs.h"
28 #include "CLHEP/Vector/RotationInterfaces.h"
36 inline HepRotationY
inverseOf(
const HepRotationY & r);
69 inline Hep3Vector
colX()
const;
70 inline Hep3Vector
colY()
const;
71 inline Hep3Vector
colZ()
const;
74 inline Hep3Vector
rowX()
const;
75 inline Hep3Vector
rowY()
const;
76 inline Hep3Vector
rowZ()
const;
79 inline double xx()
const;
80 inline double xy()
const;
81 inline double xz()
const;
82 inline double yx()
const;
83 inline double yy()
const;
84 inline double yz()
const;
85 inline double zx()
const;
86 inline double zy()
const;
87 inline double zz()
const;
90 inline HepRep3x3
rep3x3()
const;
94 inline double getPhi ()
const;
96 inline double getPsi ()
const;
104 inline Hep3Vector
getAxis ()
const;
105 inline double delta()
const;
106 inline Hep3Vector
axis ()
const;
122 inline HepLorentzVector
col1()
const;
123 inline HepLorentzVector
col2()
const;
124 inline HepLorentzVector
col3()
const;
127 inline HepLorentzVector
col4()
const;
130 inline HepLorentzVector
row1()
const;
131 inline HepLorentzVector
row2()
const;
132 inline HepLorentzVector
row3()
const;
135 inline HepLorentzVector
row4()
const;
138 inline double xt()
const;
139 inline double yt()
const;
140 inline double zt()
const;
141 inline double tx()
const;
142 inline double ty()
const;
143 inline double tz()
const;
146 inline double tt()
const;
149 inline HepRep4x4
rep4x4()
const;
159 void decompose (HepAxisAngle & rotation, Hep3Vector & boost)
const;
160 void decompose (Hep3Vector & boost, HepAxisAngle & rotation)
const;
161 void decompose (HepRotation & rotation, HepBoost & boost)
const;
162 void decompose (HepBoost & boost, HepRotation & rotation)
const;
184 double distance2(
const HepRotation & r )
const;
188 double howNear(
const HepRotation & r )
const;
191 bool isNear(
const HepRotation & r,
194 double distance2(
const HepBoost & lt )
const;
196 double distance2(
const HepLorentzRotation & lt )
const;
199 double howNear(
const HepBoost & lt )
const;
200 double howNear(
const HepLorentzRotation & lt )
const;
201 bool isNear(
const HepBoost & lt,
203 bool isNear(
const HepLorentzRotation & lt,
208 double norm2()
const;
216 inline Hep3Vector
operator() (
const Hep3Vector & p)
const;
219 inline Hep3Vector
operator * (
const Hep3Vector & p)
const;
222 inline HepLorentzVector
operator()(
const HepLorentzVector & w )
const;
225 inline HepLorentzVector
operator* (
const HepLorentzVector & w )
const;
250 std::ostream &
print( std::ostream & os )
const;
267 inline HepRotationY (
double dd,
double ss,
double cc );
278 std::ostream &
operator <<
279 ( std::ostream & os,
const HepRotationY & r ) {
return r.print(os);}
283 #include "CLHEP/Vector/RotationY.icc"
285 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
287 using namespace CLHEP;