Go to the documentation of this file.
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;
80 inline void setX(
double);
81 inline void setY(
double);
82 inline void setZ(
double);
85 inline void set(
double x,
double y,
double z);
88 inline double phi()
const;
91 inline double theta()
const;
100 inline double mag2()
const;
103 inline double mag()
const;
106 inline void setPhi(
double);
115 inline double perp2()
const;
118 inline double perp()
const;
244 inline double getX()
const;
245 inline double getY()
const;
246 inline double getZ()
const;
249 inline double getR ()
const;
251 inline double getPhi ()
const;
254 inline double r ()
const;
257 inline double rho ()
const;
258 inline double getRho ()
const;
265 inline void setR (
double s );
268 inline void setRho (
double s );
303 double beta ()
const;
307 double gamma()
const;
318 inline double angle()
const;
448 #include "CLHEP/Vector/ThreeVector.icc"
450 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
452 using namespace CLHEP;
HepRotation delta() setPhi()
double howOrthogonal(const Hep3Vector &v) const
double deltaR(const Hep3Vector &v) const
HepLorentzVector rotationYOf(const HepLorentzVector &vec, double delta)
double diff2(const Hep3Vector &v) const
bool operator==(const Hep3Vector &) const
Hep3Vector & operator/=(double)
double coLinearRapidity() const
int compare(const Hep3Vector &v) const
Hep3Vector perpPart() const
bool operator<=(const Hep3Vector &v) const
Hep3Vector HepThreeVectorF
double howParallel(const Hep3Vector &v) const
double dot(const Hep3Vector &) const
bool isNear(const Hep3Vector &, double epsilon=tolerance) const
Hep3Vector & rotateY(double)
double operator()(int) const
void setRThetaPhi(double r, double theta, double phi)
We have the boost methods returning HepLorentzVector &rather than so things can be chained we feel the boost methods along an axis
Hep3Vector HepThreeVectorD
bool operator!=(const Hep3Vector &) const
Hep3Vector orthogonal() const
void setRhoPhiZ(double rho, double phi, double z)
Hep3Vector & rotateX(double)
void setRhoPhiTheta(double rho, double phi, double theta)
bool isParallel(const Hep3Vector &v, double epsilon=tolerance) const
double azimAngle(const Hep3Vector &v2) const
void setREtaPhi(double r, double eta, double phi)
HepLorentzVector operator/(const HepLorentzVector &, double a)
Hep3Vector & operator=(const Hep3Vector &)
static double getTolerance()
Hep3Vector cross(const Hep3Vector &) const
Hep3Vector project() const
Hep3Vector operator-(const Hep3Vector &, const Hep3Vector &)
Hep3Vector & rotate(double, const Hep3Vector &)
double deltaPhi(const Hep3Vector &v2) const
they are gone ZOOM Features Discontinued The following features of the ZOOM package were felt to be extreme overkill These have been after checking that no existing user code was utilizing as in SpaceVector v
Hep3Vector & operator*=(double)
Hep3Vector & rotateUz(const Hep3Vector &)
double pseudoRapidity() const
Issues Concerning the PhysicsVectors CLHEP Vector Merge The merge of ZOOM PhysicsVdectors and the CLHEP Vector package is completed The purpose of this document is to list the major issues that affected the merge of these and where relevant describe the resolutions More detailed documents describe more minor issues General Approach As agreed at the June CLHEP the approach is to combine the features of each ZOOM class with the corresponding CLHEP class expanding the interface to create a single lingua franca of what a Hep3Vector(for example) means. We are not forming SpaceVector as an class derived from Hep3Vector and enhancing it in that way. Another rule imposed by the agreement is to avoid using the Exceptions package(even though that will later go into CLHEP for other uses). A desirable goal is to avoid cluttering the interface and enlarging the code linked in when ordinary CLHEP Vector functionallity is used. To this end
Hep3Vector & operator+=(const Hep3Vector &)
bool operator>=(const Hep3Vector &v) const
double howNear(const Hep3Vector &v) const
bool operator<(const Hep3Vector &v) const
HepLorentzVector rotationOf(const HepLorentzVector &vec, const Hep3Vector &axis, double delta)
we want to make it possible for the user to use the so we provide a few new for double double phi
double operator[](int) const
std::istream & operator>>(std::istream &is, HepAxisAngle &aa)
Hep3Vector & rotateZ(double)
Hep3Vector & operator-=(const Hep3Vector &)
HepLorentzVector rotationXOf(const HepLorentzVector &vec, double delta)
Hep3Vector operator+(const Hep3Vector &, const Hep3Vector &)
void setCylindrical(double r, double phi, double z)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
bool operator>(const Hep3Vector &v) const
void setSpherical(double r, double theta, double phi)
double negativeInfinity() const
Hep3Vector & transform(const HepRotation &)
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
HepLorentzVector rotationZOf(const HepLorentzVector &vec, double delta)
void set(double x, double y, double z)
void setRhoPhiEta(double rho, double phi, double eta)
static double setTolerance(double tol)
we want to make it possible for the user to use the so we provide a few new for double theta
double polarAngle(const Hep3Vector &v2) const
Hep3Vector operator-() const
bool isOrthogonal(const Hep3Vector &v, double epsilon=tolerance) const