21 #ifndef HEP_THREEVECTOR_H
22 #define HEP_THREEVECTOR_H
29 #include "CLHEP/Vector/defs.h"
75 inline double x()
const;
76 inline double y()
const;
77 inline double z()
const;
85 inline void set(
double x,
double y,
double z);
88 inline double phi()
const;
103 inline double mag()
const;
254 inline double r ()
const;
257 inline double rho ()
const;
415 double phi,
double theta,
double psi);
448 #include "CLHEP/Vector/ThreeVector.icc"
450 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
452 using namespace CLHEP;
Hep3Vector & operator-=(const Hep3Vector &)
Hep3Vector & rotate(const HepAxisAngle &ax)
double cosTheta(const Hep3Vector &v2) const
Hep3Vector & operator+=(const Hep3Vector &)
double azimAngle(const Hep3Vector &v2) const
double rapidity(const Hep3Vector &v2) const
Hep3Vector orthogonal() const
Hep3Vector & rotate(const HepEulerAngles &e)
void setRhoPhiEta(double rho, double phi, double eta)
bool operator>=(const Hep3Vector &v) const
Hep3Vector(const Hep3Vector &)
Hep3Vector & transform(const HepRotation &)
double operator()(int) const
Hep3Vector & rotate(double, const Hep3Vector &)
Hep3Vector & rotateY(double)
Hep3Vector & operator*=(double)
double diff2(const Hep3Vector &v) const
Hep3Vector & operator/=(double)
Hep3Vector & rotateX(double)
double polarAngle(const Hep3Vector &v2, const Hep3Vector &ref) const
Hep3Vector & rotate(double phi, double theta, double psi)
void setRhoPhiZ(double rho, double phi, double z)
void setSpherical(double r, double theta, double phi)
Hep3Vector cross(const Hep3Vector &) const
double operator[](int) const
void setRThetaPhi(double r, double theta, double phi)
double angle(const Hep3Vector &) const
double howNear(const Hep3Vector &v) const
double dot(const Hep3Vector &) const
Hep3Vector perpPart(const Hep3Vector &v2) const
Hep3Vector project(const Hep3Vector &v2) const
double perp(const Hep3Vector &) const
bool operator>(const Hep3Vector &v) const
bool isOrthogonal(const Hep3Vector &v, double epsilon=tolerance) const
double negativeInfinity() const
Hep3Vector perpPart() const
static double getTolerance()
bool operator!=(const Hep3Vector &) const
Hep3Vector(double x, double y, double z)
bool isNear(const Hep3Vector &, double epsilon=tolerance) const
double pseudoRapidity() const
bool operator<=(const Hep3Vector &v) const
double deltaPhi(const Hep3Vector &v2) const
double theta(const Hep3Vector &v2) const
void setCylindrical(double r, double phi, double z)
double eta(const Hep3Vector &v2) const
void set(double x, double y, double z)
Hep3Vector & rotateZ(double)
double coLinearRapidity() const
int compare(const Hep3Vector &v) const
double howParallel(const Hep3Vector &v) const
double cos2Theta(const Hep3Vector &v2) const
static double setTolerance(double tol)
double howOrthogonal(const Hep3Vector &v) const
double azimAngle(const Hep3Vector &v2, const Hep3Vector &ref) const
Hep3Vector & operator=(const Hep3Vector &)
Hep3Vector operator-() const
bool operator==(const Hep3Vector &) const
double deltaR(const Hep3Vector &v) const
void setREtaPhi(double r, double eta, double phi)
Hep3Vector & rotateUz(const Hep3Vector &)
void setRhoPhiTheta(double rho, double phi, double theta)
bool operator<(const Hep3Vector &v) const
double polarAngle(const Hep3Vector &v2) const
Hep3Vector(double x, double y)
bool isParallel(const Hep3Vector &v, double epsilon=tolerance) const
Hep3Vector project() const
Hep3Vector & rotate(const Hep3Vector &axis, double delta)
double perp2(const Hep3Vector &) const
HepLorentzVector rotationYOf(const HepLorentzVector &vec, double delta)
Hep3Vector operator-(const Hep3Vector &, const Hep3Vector &)
Hep3Vector operator+(const Hep3Vector &, const Hep3Vector &)
HepLorentzVector rotationXOf(const HepLorentzVector &vec, double delta)
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
HepLorentzVector rotationZOf(const HepLorentzVector &vec, double delta)
HepLorentzVector rotationOf(const HepLorentzVector &vec, const Hep3Vector &axis, double delta)
Hep3Vector HepThreeVectorF
Hep3Vector HepThreeVectorD
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
std::istream & operator>>(std::istream &is, HepAxisAngle &aa)
HepLorentzVector operator/(const HepLorentzVector &, double a)