|
| DisplacementVector3D () |
| Default constructor. More...
|
|
template<class OtherCoords > |
| DisplacementVector3D (const DisplacementVector3D< OtherCoords, Tag > &v) |
| Construct from a displacement vector expressed in different coordinates, or using a different Scalar type, but with same coordinate system tag. More...
|
|
template<class ForeignVector > |
| DisplacementVector3D (const ForeignVector &v) |
| Construct from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z() More...
|
|
template<class OtherCoords > |
| DisplacementVector3D (const PositionVector3D< OtherCoords, Tag > &p) |
| Construct from a position vector expressed in different coordinates but with the same coordinate system tag. More...
|
|
| DisplacementVector3D (Scalar a, Scalar b, Scalar c) |
| Construct from three values of type Scalar. More...
|
|
CoordSystem | Coordinates () const |
| Retrieve a copy of the coordinates object. More...
|
|
template<class OtherCoords > |
DisplacementVector3D | Cross (const DisplacementVector3D< OtherCoords, Tag > &v) const |
| Return vector (cross) product of two displacement vectors, as a vector in the coordinate system of this class. More...
|
|
template<class OtherVector > |
DisplacementVector3D | Cross (const OtherVector &v) const |
| Return vector (cross) product of two vectors, as a vector in the coordinate system of this class. More...
|
|
template<class OtherCoords > |
Scalar | Dot (const DisplacementVector3D< OtherCoords, Tag > &v) const |
| Return the scalar (dot) product of two displacement vectors. More...
|
|
template<class OtherVector > |
Scalar | Dot (const OtherVector &v) const |
| Return the scalar (dot) product of two vectors. More...
|
|
Scalar | Eta () const |
| Polar eta, converting if necessary from internal coordinate system. More...
|
|
Scalar | eta () const |
|
template<class IT > |
void | GetCoordinates (IT begin) const |
| get internal data into 3 Scalars starting at *begin More...
|
|
template<class IT > |
void | GetCoordinates (IT begin, IT end) const |
| get internal data into 3 Scalars at *begin to *end (3 past begin) More...
|
|
void | GetCoordinates (Scalar &a, Scalar &b, Scalar &c) const |
| get internal data into 3 Scalar numbers More...
|
|
void | GetCoordinates (Scalar dest[]) const |
| get internal data into a C-style array of 3 Scalar numbers More...
|
|
Scalar | Mag2 () const |
| Magnitute squared ( r^2 in spherical coordinate) More...
|
|
Scalar | mag2 () const |
|
bool | operator!= (const DisplacementVector3D &rhs) const |
|
DisplacementVector3D | operator* (Scalar a) const |
| Multiply a vector by a real number. More...
|
|
DisplacementVector3D & | operator*= (Scalar a) |
| multiply this vector by a scalar quantity More...
|
|
DisplacementVector3D | operator+ () const |
| Positive of the vector, return itself. More...
|
|
template<class OtherCoords > |
DisplacementVector3D & | operator+= (const DisplacementVector3D< OtherCoords, Tag > &v) |
| Self Addition with a displacement vector. More...
|
|
DisplacementVector3D | operator- () const |
| Negative of the vector. More...
|
|
template<class OtherCoords > |
DisplacementVector3D & | operator-= (const DisplacementVector3D< OtherCoords, Tag > &v) |
| Self Difference with a displacement vector. More...
|
|
DisplacementVector3D | operator/ (Scalar a) const |
| Division of a vector with a real number. More...
|
|
DisplacementVector3D & | operator/= (Scalar a) |
| divide this vector by a scalar quantity More...
|
|
template<class OtherCoords > |
DisplacementVector3D & | operator= (const DisplacementVector3D< OtherCoords, Tag > &v) |
| Assignment operator from a displacement vector of arbitrary type. More...
|
|
template<class ForeignVector > |
DisplacementVector3D & | operator= (const ForeignVector &v) |
| Assignment from a foreign 3D vector type, for example, Hep3Vector Precondition: v must implement methods x(), y() and z() More...
|
|
template<class OtherCoords > |
DisplacementVector3D & | operator= (const PositionVector3D< OtherCoords, Tag > &rhs) |
| Assignment operator from a position vector (not necessarily efficient unless one or the other is Cartesian) More...
|
|
bool | operator== (const DisplacementVector3D &rhs) const |
| Exact equality. More...
|
|
Scalar | Perp2 () const |
| Transverse component squared (rho^2 in cylindrical coordinates. More...
|
|
Scalar | perp2 () const |
|
Scalar | Phi () const |
| Polar phi, converting if necessary from internal coordinate system. More...
|
|
Scalar | phi () const |
|
Scalar | R () const |
| Polar R, converting if necessary from internal coordinate system. More...
|
|
Scalar | r () const |
|
Scalar | Rho () const |
| Cylindrical transverse component rho. More...
|
|
Scalar | rho () const |
|
DisplacementVector3D< CoordSystem, Tag > & | SetCoordinates (const Scalar src[]) |
| Set internal data based on a C-style array of 3 Scalar numbers. More...
|
|
template<class IT > |
DisplacementVector3D< CoordSystem, Tag > & | SetCoordinates (IT begin, IT end) |
| Set internal data based on 3 Scalars at *begin to *end. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetCoordinates (Scalar a, Scalar b, Scalar c) |
| Set internal data based on 3 Scalar numbers. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetEta (Scalar etaval) |
| Change Eta - CylindricalEta3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetPhi (Scalar ang) |
| Change Phi - Polar3D or CylindricalEta3D coordinates. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetR (Scalar rr) |
| Change R - Polar3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetRho (Scalar rr) |
| Change Rho - CylindricalEta3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetTheta (Scalar ang) |
| Change Theta - Polar3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetX (Scalar xx) |
| Change X - Cartesian3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetXYZ (Scalar a, Scalar b, Scalar c) |
| set the values of the vector from the cartesian components (x,y,z) (if the vector is held in polar or cylindrical eta coordinates, then (x, y, z) are converted to that form) More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetY (Scalar yy) |
| Change Y - Cartesian3D coordinates only. More...
|
|
DisplacementVector3D< CoordSystem, Tag > & | SetZ (Scalar zz) |
| Change Z - Cartesian3D coordinates only. More...
|
|
Scalar | Theta () const |
| Polar theta, converting if necessary from internal coordinate system. More...
|
|
Scalar | theta () const |
|
template<typename SCALAR = Scalar, typename std::enable_if< std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
DisplacementVector3D | Unit () const |
| return unit vector parallel to this (scalar) More...
|
|
template<typename SCALAR = Scalar, typename std::enable_if<!std::is_arithmetic< SCALAR >::value >::type * = nullptr> |
DisplacementVector3D | Unit () const |
| return unit vector parallel to this (vector) More...
|
|
DisplacementVector3D | unit () const |
|
Scalar | X () const |
| Cartesian X, converting if necessary from internal coordinate system. More...
|
|
Scalar | x () const |
|
Scalar | Y () const |
| Cartesian Y, converting if necessary from internal coordinate system. More...
|
|
Scalar | y () const |
|
Scalar | Z () const |
| Cartesian Z, converting if necessary from internal coordinate system. More...
|
|
Scalar | z () const |
|