![]() |
![]() |
#include "DataFormats/GeometryVector/interface/VectorTag.h"
#include "DataFormats/GeometryVector/interface/PV3DBase.h"
Go to the source code of this file.
Classes | |
class | Vector3DBase< T, FrameTag > |
Functions | |
template<class T , class U , class FrameTag > | |
PreciseFloatType< T, U >::Type | operator* (const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2) |
scalar product of vectors of possibly different precision | |
template<class T , class FrameTag , class Scalar > | |
Vector3DBase< T, FrameTag > | operator* (const Vector3DBase< T, FrameTag > &v, const Scalar &s) |
template<class T , class FrameTag , class Scalar > | |
Vector3DBase< T, FrameTag > | operator* (const Scalar &s, const Vector3DBase< T, FrameTag > &v) |
Same as operator*( Vector, Scalar) | |
template<class T , class U , class FrameTag > | |
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 | |
template<class T , class U , class FrameTag > | |
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > | operator- (const Vector3DBase< T, FrameTag > &v1, const Vector3DBase< U, FrameTag > &v2) |
template<class T , class FrameTag , class Scalar > | |
Vector3DBase< T, FrameTag > | operator/ (const Vector3DBase< T, FrameTag > &v, const Scalar &s) |
PreciseFloatType<T,U>::Type operator* | ( | const Vector3DBase< T, FrameTag > & | v1, |
const Vector3DBase< U, FrameTag > & | v2 | ||
) | [inline] |
scalar product of vectors of possibly different precision
Definition at line 144 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector().
{ return v1.basicVector() * v2.basicVector(); }
Vector3DBase<T, FrameTag> operator* | ( | const Vector3DBase< T, FrameTag > & | v, |
const Scalar & | s | ||
) | [inline] |
Multiplication by scalar, does not change the precision of the vector. The return type is the same as the type of the vector argument.
Definition at line 153 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector(), and alignCSCRings::s.
{ return Vector3DBase<T, FrameTag>( v.basicVector() * s); }
Vector3DBase<T, FrameTag> operator* | ( | const Scalar & | s, |
const Vector3DBase< T, FrameTag > & | v | ||
) | [inline] |
Same as operator*( Vector, Scalar)
Definition at line 160 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector(), and alignCSCRings::s.
{ return Vector3DBase<T, FrameTag>( v.basicVector() * s); }
Vector3DBase<typename PreciseFloatType<T,U>::Type, FrameTag> operator+ | ( | const Vector3DBase< T, FrameTag > & | v1, |
const Vector3DBase< U, FrameTag > & | v2 | ||
) | [inline] |
vector sum and subtraction of vectors of possibly different precision
Definition at line 129 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector().
{ typedef Vector3DBase<typename PreciseFloatType<T,U>::Type, FrameTag> RT; return RT(v1.basicVector() + v2.basicVector()); }
Vector3DBase<typename PreciseFloatType<T,U>::Type, FrameTag> operator- | ( | const Vector3DBase< T, FrameTag > & | v1, |
const Vector3DBase< U, FrameTag > & | v2 | ||
) | [inline] |
Definition at line 136 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector().
{ typedef Vector3DBase<typename PreciseFloatType<T,U>::Type, FrameTag> RT; return RT(v1.basicVector() - v2.basicVector()); }
Vector3DBase<T, FrameTag> operator/ | ( | const Vector3DBase< T, FrameTag > & | v, |
const Scalar & | s | ||
) | [inline] |
Division by scalar, does not change the precision of the vector. The return type is the same as the type of the vector argument.
Definition at line 169 of file Vector3DBase.h.
References PV3DBase< T, VectorTag, FrameTag >::basicVector(), and alignCSCRings::s.
{ return Vector3DBase<T, FrameTag>( v.basicVector() / s); }