Go to the documentation of this file. 1 #ifndef HEP_EULERANGLES_H
2 #define HEP_EULERANGLES_H
19 #include "CLHEP/Vector/defs.h"
25 std::ostream &
operator<<(std::ostream & os,
const HepEulerAngles & aa);
26 std::istream &
operator>>(std::istream &
is, HepEulerAngles & aa);
32 class HepEulerAngles {
50 inline double getPhi()
const;
51 inline double phi()
const;
55 inline double theta()
const;
58 inline double getPsi()
const;
59 inline double psi()
const;
67 inline int compare (
const EA & ea )
const;
85 friend std::ostream &
operator<<( std::ostream & os,
const EA & ea );
110 #define EULERANGLES_ICC
111 #include "CLHEP/Vector/EulerAngles.icc"
112 #undef EULERANGLES_ICC
114 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
116 using namespace CLHEP;
120 #endif // EULERANGLES_H
int compare(const EA &ea) const
bool operator>=(const EA &ea) const
HepRotation and so forth isNear() norm2() rectify() static Rotation row1 row4(To avoid bloat in the code pulled in for programs which don 't use all these features, we split the implementation .cc files. Only isNear() goes into the original Rotation.cc) --------------------------------------- HepAxisAngle and HepEulerAngles classes --------------------------------------- These classes are very useful and simple structures for holding the result of a nice intuituve decomposition of a rotation there is no longer much content in the distinct ZOOM PhysicsVectors library The only content left in the library is the object files representing the various Exception objects When we build the CLHEP classes for the ZOOM we will set up so as to use ZOOM SpaceVector is(but we can disable namespace usage and most of our users do so at this point). What I do is leave Hep3Vector in the global namespace
friend std::ostream & operator<<(std::ostream &os, const EA &ea)
EA & set(double phi, double theta, double psi)
static double setTolerance(double tol)
bool operator<=(const EA &ea) const
double distance(const HepEulerAngles &ex) const
bool isNear(const EA &ea, double epsilon=tolerance) const
bool operator<(const EA &ea) const
bool operator>(const EA &ea) const
bool operator==(const EA &ea) const
bool operator!=(const EA &ea) const
std::istream & operator>>(std::istream &is, HepAxisAngle &aa)
friend std::istream & operator>>(std::istream &is, EA &ea)
EA & setTheta(double theta)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
static double getTolerance()
double howNear(const EA &ea) const
CLHEP::HepEulerAngles EulerAngles