20#ifndef HEP_THREEVECTOR_H
21#define HEP_THREEVECTOR_H
71 inline double x()
const;
72 inline double y()
const;
73 inline double z()
const;
76 inline void setX(
double);
77 inline void setY(
double);
78 inline void setZ(
double);
81 inline void set(
double x,
double y,
double z);
84 inline double phi()
const;
87 inline double theta()
const;
96 inline double mag2()
const;
99 inline double mag()
const;
102 inline void setPhi(
double);
111 inline double perp2()
const;
114 inline double perp()
const;
240 inline double getX()
const;
241 inline double getY()
const;
242 inline double getZ()
const;
245 inline double getR ()
const;
247 inline double getPhi ()
const;
250 inline double r ()
const;
253 inline double rho ()
const;
254 inline double getRho ()
const;
261 inline void setR (
double s );
264 inline void setRho (
double s );
314 inline double angle()
const;
409 double phi,
double theta,
double psi);
444#ifdef ENABLE_BACKWARDS_COMPATIBILITY
446using namespace CLHEP;
Hep3Vector & operator-=(const Hep3Vector &)
Hep3Vector & rotateY(double)
double cosTheta(const Hep3Vector &v2) const
Hep3Vector & rotate(const HepAxisAngle &ax)
double azimAngle(const Hep3Vector &v2) const
Hep3Vector & rotateX(double)
double rapidity(const Hep3Vector &v2) const
Hep3Vector orthogonal() const
Hep3Vector & rotate(const HepEulerAngles &e)
Hep3Vector & rotate(double phi, double theta, double psi)
void setRhoPhiEta(double rho, double phi, double eta)
bool operator>=(const Hep3Vector &v) const
double operator()(int) const
Hep3Vector & rotateZ(double)
static const int ToleranceTicks
double diff2(const Hep3Vector &v) const
Hep3Vector & operator/=(double)
double polarAngle(const Hep3Vector &v2, const Hep3Vector &ref) const
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)
Hep3Vector & operator=(const Hep3Vector &)
double howNear(const Hep3Vector &v) const
double dot(const Hep3Vector &) const
Hep3Vector & rotate(const Hep3Vector &axis, double delta)
static double getTolerance()
Hep3Vector project(const Hep3Vector &v2) const
bool operator>(const Hep3Vector &v) const
bool isOrthogonal(const Hep3Vector &v, double epsilon=tolerance) const
double negativeInfinity() const
Hep3Vector perpPart() const
bool operator!=(const Hep3Vector &) const
Hep3Vector & operator*=(double)
bool isNear(const Hep3Vector &, double epsilon=tolerance) const
double pseudoRapidity() const
Hep3Vector & transform(const HepRotation &)
bool operator<=(const Hep3Vector &v) const
double deltaPhi(const Hep3Vector &v2) const
void setCylindrical(double r, double phi, double z)
double eta(const Hep3Vector &v2) const
Hep3Vector(Hep3Vector &&)=default
void set(double x, double y, double z)
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
bool operator==(const Hep3Vector &) const
double deltaR(const Hep3Vector &v) const
void setREtaPhi(double r, double eta, double phi)
void setRhoPhiTheta(double rho, double phi, double theta)
Hep3Vector & rotateUz(const Hep3Vector &)
Hep3Vector & rotate(double, const Hep3Vector &)
bool operator<(const Hep3Vector &v) const
double polarAngle(const Hep3Vector &v2) const
Hep3Vector & operator+=(const Hep3Vector &)
bool isParallel(const Hep3Vector &v, double epsilon=tolerance) const
Hep3Vector project() const
HepLorentzVector rotationYOf(const HepLorentzVector &vec, double delta)
HepLorentzVector rotationXOf(const HepLorentzVector &vec, double delta)
std::istream & operator>>(std::istream &is, HepRandom &dist)
HepLorentzVector rotationZOf(const HepLorentzVector &vec, double delta)
std::ostream & operator<<(std::ostream &s, const HepDiagMatrix &q)
HepLorentzVector rotationOf(const HepLorentzVector &vec, const Hep3Vector &axis, double delta)
Hep3Vector HepThreeVectorF
Hep3Vector HepThreeVectorD
HepMatrix operator+(const HepMatrix &hm1, const HepDiagMatrix &d2)
HepMatrix operator-(const HepMatrix &hm1, const HepDiagMatrix &d2)
HepDiagMatrix operator/(const HepDiagMatrix &hm1, double t)
HepMatrix operator*(const HepMatrix &hm1, const HepDiagMatrix &hm2)