20 #ifndef HEP_ROTATIONZ_H
21 #define HEP_ROTATIONZ_H
27 #include "CLHEP/Vector/defs.h"
28 #include "CLHEP/Vector/RotationInterfaces.h"
36 inline HepRotationZ
inverseOf(
const HepRotationZ & 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;
252 std::ostream &
print( std::ostream & os )
const;
269 inline HepRotationZ (
double dd,
double ss,
double cc );
278 std::ostream &
operator <<
279 ( std::ostream & os,
const HepRotationZ & r ) {
return r.print(os);}
285 #include "CLHEP/Vector/RotationZ.icc"
287 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
289 using namespace CLHEP;
HepLorentzVector row2() const
static double setTolerance(double tol)
double howNear(const HepRotationZ &r) const
HepRotationZ & transform(const HepRotationZ &r)
HepAxisAngle axisAngle() const
void setDelta(double delta)
Hep3Vector operator*(const Hep3Vector &p) const
HepLorentzVector row1() const
bool operator>=(const HepRotationZ &r) const
int compare(const HepRotationZ &r) const
bool operator!=(const HepRotationZ &r) const
HepLorentzVector col3() const
Hep3Vector operator()(const Hep3Vector &p) const
static double proper(double delta)
HepRotationZ inverse() const
bool operator>(const HepRotationZ &r) const
HepRotationZ & operator=(const HepRotationZ &r)
HepRotationZ & operator*=(const HepRotationZ &r)
bool operator<(const HepRotationZ &r) const
HepLorentzVector row4() const
Hep3Vector getAxis() const
bool operator<=(const HepRotationZ &r) const
bool operator==(const HepRotationZ &r) const
bool isNear(const HepRotationZ &r, double epsilon=Hep4RotationInterface::tolerance) const
HepBoost inverseOf(const HepBoost <)
HepLorentzVector col2() const
friend HepRotationZ inverseOf(const HepRotationZ &r)
HepRotationZ & set(double delta)
HepEulerAngles eulerAngles() const
HepLorentzVector col1() const
void decompose(HepAxisAngle &rotation, Hep3Vector &boost) const
std::ostream & print(std::ostream &os) const
static double getTolerance()
void getAngleAxis(double &delta, Hep3Vector &axis) const
double distance2(const HepRotationZ &r) const
HepLorentzVector col4() const
HepLorentzVector row3() const