20 #ifndef HEP_ROTATIONX_H
21 #define HEP_ROTATIONX_H
27 #include "CLHEP/Vector/defs.h"
28 #include "CLHEP/Vector/RotationInterfaces.h"
37 inline HepRotationX
inverseOf(
const HepRotationX & r);
70 inline Hep3Vector
colX()
const;
71 inline Hep3Vector
colY()
const;
72 inline Hep3Vector
colZ()
const;
75 inline Hep3Vector
rowX()
const;
76 inline Hep3Vector
rowY()
const;
77 inline Hep3Vector
rowZ()
const;
80 inline double xx()
const;
81 inline double xy()
const;
82 inline double xz()
const;
83 inline double yx()
const;
84 inline double yy()
const;
85 inline double yz()
const;
86 inline double zx()
const;
87 inline double zy()
const;
88 inline double zz()
const;
91 inline HepRep3x3
rep3x3()
const;
95 inline double getPhi ()
const;
97 inline double getPsi ()
const;
105 inline Hep3Vector
getAxis ()
const;
106 inline double delta()
const;
107 inline Hep3Vector
axis ()
const;
123 inline HepLorentzVector
col1()
const;
124 inline HepLorentzVector
col2()
const;
125 inline HepLorentzVector
col3()
const;
128 inline HepLorentzVector
col4()
const;
131 inline HepLorentzVector
row1()
const;
132 inline HepLorentzVector
row2()
const;
133 inline HepLorentzVector
row3()
const;
136 inline HepLorentzVector
row4()
const;
139 inline double xt()
const;
140 inline double yt()
const;
141 inline double zt()
const;
142 inline double tx()
const;
143 inline double ty()
const;
144 inline double tz()
const;
147 inline double tt()
const;
150 inline HepRep4x4
rep4x4()
const;
160 void decompose (HepAxisAngle & rotation, Hep3Vector & boost)
const;
161 void decompose (Hep3Vector & boost, HepAxisAngle & rotation)
const;
162 void decompose (HepRotation & rotation, HepBoost & boost)
const;
163 void decompose (HepBoost & boost, HepRotation & rotation)
const;
185 double distance2(
const HepRotation & r )
const;
189 double howNear(
const HepRotation & r )
const;
192 bool isNear(
const HepRotation & r,
195 double distance2(
const HepBoost & lt )
const;
197 double distance2(
const HepLorentzRotation & lt )
const;
200 double howNear(
const HepBoost & lt )
const;
201 double howNear(
const HepLorentzRotation & lt )
const;
202 bool isNear(
const HepBoost & lt,
204 bool isNear(
const HepLorentzRotation & lt,
209 double norm2()
const;
217 inline Hep3Vector
operator() (
const Hep3Vector & p)
const;
220 inline Hep3Vector
operator * (
const Hep3Vector & p)
const;
223 inline HepLorentzVector
operator()(
const HepLorentzVector & w )
const;
226 inline HepLorentzVector
operator* (
const HepLorentzVector & w )
const;
251 std::ostream &
print( std::ostream & os )
const;
268 inline HepRotationX (
double dd,
double ss,
double cc );
278 std::ostream &
operator <<
279 ( std::ostream & os,
const HepRotationX & r ) {
return r.print(os);}
283 #include "CLHEP/Vector/RotationX.icc"
285 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
287 using namespace CLHEP;