21 #ifndef HEP_ROTATION_H
22 #define HEP_ROTATION_H
38 inline HepRotation
inverseOf (
const HepRotation & r );
39 inline HepRotation
operator * (
const HepRotationX & rx,
const HepRotation & r);
40 inline HepRotation
operator * (
const HepRotationY & ry,
const HepRotation & r);
41 inline HepRotation
operator * (
const HepRotationZ & rz,
const HepRotation & r);
73 HepRotation (
double phi,
double theta,
double psi );
134 inline double xx()
const;
135 inline double xy()
const;
136 inline double xz()
const;
137 inline double yx()
const;
138 inline double yy()
const;
139 inline double yz()
const;
140 inline double zx()
const;
141 inline double zy()
const;
142 inline double zz()
const;
169 inline double getPhi ()
const;
171 inline double getPsi ()
const;
173 double theta()
const;
180 double delta()
const;
214 inline double xt()
const;
215 inline double yt()
const;
216 inline double zt()
const;
217 inline double tx()
const;
218 inline double ty()
const;
219 inline double tz()
const;
222 inline double tt()
const;
288 double norm2()
const;
364 std::ostream &
print( std::ostream & os )
const;
378 inline HepRotation(
double mxx,
double mxy,
double mxz,
379 double myx,
double myy,
double myz,
380 double mzx,
double mzy,
double mzz);
409 std::ostream &
operator <<
410 ( std::ostream & os,
const HepRotation & r ) {
return r.print(os);}
414 #include "CLHEP/Vector/Rotation.icc"
HepLorentzVector row3() const
HepAxisAngle axisAngle() const
HepRotation & operator=(const HepRotation &r)
void setDelta(double delta)
HepLorentzVector row4() const
void setArbitrarily(const Hep3Vector &colX, Hep3Vector &v1, Hep3Vector &v2, Hep3Vector &v3) const
HepEulerAngles eulerAngles() const
HepLorentzVector col1() const
bool operator<(const HepRotation &r) const
std::ostream & print(std::ostream &os) const
static DLL_API const HepRotation IDENTITY
void decompose(HepAxisAngle &rotation, Hep3Vector &boost) const
bool operator==(const HepRotation &r) const
bool operator>(const HepRotation &r) const
const HepRotation_row operator[](int) const
HepLorentzVector col3() const
static double setTolerance(double tol)
bool operator>=(const HepRotation &r) const
HepRotation & set(const Hep3Vector &axis, double delta)
double operator[](int) const
int compare(const HepRotation &r) const
static double getTolerance()
HepLorentzVector row1() const
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
bool setCols(const Hep3Vector &u1, const Hep3Vector &u2, const Hep3Vector &u3, double u1u2, Hep3Vector &v1, Hep3Vector &v2, Hep3Vector &v3) const
void getAngleAxis(double &delta, Hep3Vector &axis) const
bool operator<=(const HepRotation &r) const
bool operator!=(const HepRotation &r) const
HepLorentzVector col2() const
HepLorentzVector row2() const
HepBoost inverseOf(const HepBoost <)
HepRotation & operator*=(const HepRotation &r)
double operator()(int, int) const
static constexpr double m
void setAxis(const Hep3Vector &axis)
double distance2(const HepRotation &r) const
double epsilon(double density, double temperature)
HepRotation & rotateY(double delta)
Hep3Vector operator*(const Hep3Vector &p) const
HepLorentzVector col4() const
void setTheta(double theta)
HepRotation & rotateZ(double delta)
Hep3Vector getAxis() const
HepRotation & rotate(double delta, const Hep3Vector &axis)
HepRotation & transform(const HepRotation &r)
bool isNear(const HepRotation &r, double epsilon=Hep4RotationInterface::tolerance) const
HepRotation & setRows(const Hep3Vector &rowX, const Hep3Vector &rowY, const Hep3Vector &rowZ)
HepRotation_row(const HepRotation &, int)
HepRotation & rotateAxes(const Hep3Vector &newX, const Hep3Vector &newY, const Hep3Vector &newZ)
double howNear(const HepRotation &r) const
HepRotation & rotateX(double delta)
HepRotation inverse() const
static DLL_API double tolerance