![]() |
![]() |
#include "DataFormats/GeometryVector/interface/VectorTag.h"
#include "DataFormats/GeometryVector/interface/PV2DBase.h"
Go to the source code of this file.
Classes | |
class | Vector2DBase< T, FrameTag > |
Functions | |
template<class T, class FrameTag, class Scalar> | |
Vector2DBase< T, FrameTag > | operator * (const Scalar &s, const Vector2DBase< T, FrameTag > &v) |
Same as operator*( Vector, Scalar). | |
template<class T, class FrameTag, class Scalar> | |
Vector2DBase< T, FrameTag > | operator * (const Vector2DBase< T, FrameTag > &v, const Scalar &s) |
Multiplication by scalar, does not change the precision of the vector. | |
template<class T, class U, class FrameTag> | |
PreciseFloatType< T, U >::Type | operator * (const Vector2DBase< T, FrameTag > &v1, const Vector2DBase< U, FrameTag > &v2) |
scalar product of vectors of possibly different precision | |
template<class T, class U, class FrameTag> | |
Vector2DBase< typename PreciseFloatType< T, U >::Type, FrameTag > | operator+ (const Vector2DBase< T, FrameTag > &v1, const Vector2DBase< U, FrameTag > &v2) |
vector sum and subtraction of vectors of possibly different precision | |
template<class T, class U, class FrameTag> | |
Vector2DBase< typename PreciseFloatType< T, U >::Type, FrameTag > | operator- (const Vector2DBase< T, FrameTag > &v1, const Vector2DBase< U, FrameTag > &v2) |
template<class T, class FrameTag, class Scalar> | |
Vector2DBase< T, FrameTag > | operator/ (const Vector2DBase< T, FrameTag > &v, const Scalar &s) |
Division by scalar, does not change the precision of the vector. |
Vector2DBase<T, FrameTag> operator * | ( | const Scalar & | s, | |
const Vector2DBase< T, FrameTag > & | v | |||
) | [inline] |
Same as operator*( Vector, Scalar).
Definition at line 127 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00127 { 00128 return Vector2DBase<T, FrameTag>( v.basicVector() * s); 00129 }
Vector2DBase<T, FrameTag> operator * | ( | const Vector2DBase< 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 120 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00120 { 00121 return Vector2DBase<T, FrameTag>( v.basicVector() * s); 00122 }
PreciseFloatType<T,U>::Type operator * | ( | const Vector2DBase< T, FrameTag > & | v1, | |
const Vector2DBase< U, FrameTag > & | v2 | |||
) | [inline] |
scalar product of vectors of possibly different precision
Definition at line 111 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00111 { 00112 return v1.basicVector() * v2.basicVector(); 00113 }
Vector2DBase<typename PreciseFloatType<T,U>::Type, FrameTag> operator+ | ( | const Vector2DBase< T, FrameTag > & | v1, | |
const Vector2DBase< U, FrameTag > & | v2 | |||
) | [inline] |
vector sum and subtraction of vectors of possibly different precision
Definition at line 96 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00096 { 00097 typedef Vector2DBase<typename PreciseFloatType<T,U>::Type, FrameTag> RT; 00098 return RT(v1.basicVector() + v2.basicVector()); 00099 }
Vector2DBase<typename PreciseFloatType<T,U>::Type, FrameTag> operator- | ( | const Vector2DBase< T, FrameTag > & | v1, | |
const Vector2DBase< U, FrameTag > & | v2 | |||
) | [inline] |
Definition at line 103 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00103 { 00104 typedef Vector2DBase<typename PreciseFloatType<T,U>::Type, FrameTag> RT; 00105 return RT(v1.basicVector() - v2.basicVector()); 00106 }
Vector2DBase<T, FrameTag> operator/ | ( | const Vector2DBase< 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 136 of file Vector2DBase.h.
References PV2DBase< T, VectorTag, FrameTag >::basicVector().
00136 { 00137 return Vector2DBase<T, FrameTag>( v.basicVector() / s); 00138 }