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);
72 HepRotation &
set(
double phi,
double theta,
double psi );
105 inline HepRotation &
operator = (
const HepRotation &
r);
113 inline HepRotation &
set(
const HepRep3x3 &
m );
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;
155 const HepRotation &
rr;
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;
256 int compare(
const HepRotation & r )
const;
260 inline bool operator== (
const HepRotation & r )
const;
261 inline bool operator!= (
const HepRotation & r )
const;
262 inline bool operator< (
const HepRotation & r )
const;
263 inline bool operator> (
const HepRotation & r )
const;
264 inline bool operator<= (
const HepRotation & r )
const;
265 inline bool operator>= (
const HepRotation & r )
const;
267 double distance2(
const HepRotation & r )
const;
270 double howNear(
const HepRotation & r )
const;
271 bool isNear(
const HepRotation & r,
288 double norm2()
const;
315 inline HepRotation
operator * (
const HepRotation & r)
const;
323 inline HepRotation &
operator *= (
const HepRotation & r);
324 inline HepRotation &
transform (
const HepRotation & r);
336 HepRotation &
rotateX(
double delta);
339 HepRotation &
rotateY(
double delta);
342 HepRotation &
rotateZ(
double delta);
356 inline HepRotation
inverse()
const;
359 inline HepRotation &
invert();
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 <<
414 #include "CLHEP/Vector/Rotation.icc" HepLorentzVector col3() const
static double setTolerance(double tol)
Hep3Vector operator*(const Hep3Vector &p) const
void setDelta(double delta)
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
HepRotation & rotateX(double delta)
static double getTolerance()
double operator()(int, int) const
static DLL_API double tolerance
HepRotation_row(const HepRotation &, int)
HepRotation & rotateAxes(const Hep3Vector &newX, const Hep3Vector &newY, const Hep3Vector &newZ)
bool isNear(const HepRotation &r, double epsilon=Hep4RotationInterface::tolerance) const
HepRotation & rotateY(double delta)
int compare(const HepRotation &r) const
HepRotation & setRows(const Hep3Vector &rowX, const Hep3Vector &rowY, const Hep3Vector &rowZ)
HepLorentzVector row4() const
HepLorentzVector row1() const
HepAxisAngle axisAngle() const
bool operator<=(const HepRotation &r) const
bool operator<(const HepRotation &r) const
HepRotation & rotate(double delta, const Hep3Vector &axis)
HepRotation & operator*=(const HepRotation &r)
void setAxis(const Hep3Vector &axis)
HepLorentzVector col4() const
HepBoost inverseOf(const HepBoost <)
static DLL_API const HepRotation IDENTITY
HepRotation & operator=(const HepRotation &r)
double distance2(const HepRotation &r) const
void setTheta(double theta)
HepLorentzVector row2() const
double howNear(const HepRotation &r) const
HepLorentzVector row3() const
HepRotation & transform(const HepRotation &r)
Hep3Vector getAxis() const
double operator[](int) const
void decompose(HepAxisAngle &rotation, Hep3Vector &boost) const
void setArbitrarily(const Hep3Vector &colX, Hep3Vector &v1, Hep3Vector &v2, Hep3Vector &v3) const
bool operator>(const HepRotation &r) const
HepLorentzVector col1() const
bool operator!=(const HepRotation &r) const
HepRotation & rotateZ(double delta)
HepLorentzVector col2() const
HepRotation inverse() const
std::ostream & print(std::ostream &os) const
double epsilon(double density, double temperature)
void getAngleAxis(double &delta, Hep3Vector &axis) const
HepEulerAngles eulerAngles() const
bool operator>=(const HepRotation &r) const
bool operator==(const HepRotation &r) const