1 #ifndef GeometryVector_Vector3DBase_h 2 #define GeometryVector_Vector3DBase_h 8 template <
class T,
class FrameTag>
36 explicit Vector3DBase(
const Cylindrical&
set) : BaseClass( set) {}
127 template <
class T,
class U,
class FrameTag>
134 template <
class T,
class U,
class FrameTag>
142 template <
class T,
class U,
class FrameTag>
151 template <
class T,
class FrameTag,
class Scalar>
158 template <
class T,
class FrameTag,
class Scalar>
167 template <
class T,
class FrameTag,
class Scalar>
173 #endif // GeometryVector_Vector3DBase_h
Vector3DBase< T, FrameTag > VectorType
Vector3DBase< T, FrameTag > operator/(const Vector3DBase< T, FrameTag > &v, const Scalar &s)
bool operator==(const Vector3DBase &rh) const
Vector3DBase(const Cylindrical &set)
Vector3DBase(const Geom::Theta< T > &th, const Geom::Phi< T > &ph, const T &r)
Basic3DVector cross(const Basic3DVector &lh) const
Vector product, or "cross" product, with a vector of same type.
BaseClass::Spherical Spherical
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
Vector3DBase(const Basic3DVector< U > &v)
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
Vector3DBase(const Polar &set)
construct from polar coordinates
Vector3DBase & operator/=(const T &t)
Scaling by a scalar value (division)
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
PreciseFloatType< T, U >::Type operator*(const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2)
scalar product of vectors of possibly different precision
Vector3DBase & operator+=(const Vector3DBase< U, FrameTag > &v)
BaseClass::Cylindrical Cylindrical
Vector3DBase & operator*=(const T &t)
Scaling by a scalar value (multiplication)
Vector3DBase(const T &x, const T &y, const T &z)
construct from cartesian coordinates
Vector3DBase unit() const
Vector3DBase(const Vector3DBase< U, FrameTag > &v)
PV3DBase< T, VectorTag, FrameTag > BaseClass
Vector3DBase & operator-=(const Vector3DBase< U, FrameTag > &v)
BaseClass::BasicVectorType BasicVectorType
BasicVectorType theVector
Vector3DBase operator-() const
Unary minus, returns a vector with components (-x(),-y(),-z())
const BasicVectorType & basicVector() const
T dot(const Basic3DVector &rh) const
Scalar product, or "dot" product, with a vector of same type.