Go to the documentation of this file. 1 #ifndef GeometryVector_Vector3DBase_h
2 #define GeometryVector_Vector3DBase_h
7 template <
class T,
class FrameTag>
117 template <
class T,
class U,
class FrameTag>
124 template <
class T,
class U,
class FrameTag>
132 template <
class T,
class U,
class FrameTag>
141 template <
class T,
class FrameTag,
class Scalar>
147 template <
class T,
class FrameTag,
class Scalar>
155 template <
class T,
class FrameTag,
class Scalar>
160 #endif // GeometryVector_Vector3DBase_h
Vector3DBase(const T &x, const T &y, const T &z)
construct from cartesian coordinates
BaseClass::Cylindrical Cylindrical
Vector3DBase(const Vector3DBase< U, FrameTag > &v)
Vector3DBase(const Basic3DVector< U > &v)
BasicVectorType theVector
Vector3DBase & operator-=(const Vector3DBase< U, FrameTag > &v)
Vector3DBase(const Geom::Theta< T > &th, const Geom::Phi< T > &ph, const T &r)
Vector3DBase unit() const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > operator-(const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2)
Basic3DVector cross(const Basic3DVector &lh) const
Vector product, or "cross" product, with a vector of same type.
T dot(const Basic3DVector &rh) const
Scalar product, or "dot" product, with a vector of same type.
Vector3DBase operator-() const
Unary minus, returns a vector with components (-x(),-y(),-z())
Vector3DBase< T, FrameTag > operator/(const Vector3DBase< T, FrameTag > &v, const Scalar &s)
bool operator==(const Vector3DBase &rh) const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
Vector3DBase & operator*=(const T &t)
Scaling by a scalar value (multiplication)
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
Vector3DBase(const Cylindrical &set)
const BasicVectorType & basicVector() const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > operator+(const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2)
vector sum and subtraction of vectors of possibly different precision
BaseClass::BasicVectorType BasicVectorType
PreciseFloatType< T, U >::Type operator*(const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2)
scalar product of vectors of possibly different precision
PV3DBase< T, VectorTag, FrameTag > BaseClass
BaseClass::Spherical Spherical
Vector3DBase(const Polar &set)
construct from polar coordinates
Vector3DBase & operator/=(const T &t)
Scaling by a scalar value (division)
Vector3DBase< T, FrameTag > VectorType
Vector3DBase & operator+=(const Vector3DBase< U, FrameTag > &v)