CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions
Point3DBase.h File Reference
#include "DataFormats/GeometryVector/interface/PointTag.h"
#include "DataFormats/GeometryVector/interface/PV3DBase.h"
#include "DataFormats/GeometryVector/interface/Point2DBase.h"
#include "DataFormats/GeometryVector/interface/Vector3DBase.h"

Go to the source code of this file.

Classes

class  Point3DBase< T, FrameTag >
 

Functions

template<typename T , typename U , class Frame >
Point3DBase< typename
PreciseFloatType< T, U >::Type,
Frame > 
operator+ (const Point3DBase< T, Frame > &p, const Vector3DBase< U, Frame > &v)
 
template<typename T , typename U , class Frame >
Point3DBase< typename
PreciseFloatType< T, U >::Type,
Frame > 
operator+ (const Vector3DBase< T, Frame > &p, const Point3DBase< U, Frame > &v)
 
template<typename T , typename U , class Frame >
Vector3DBase< typename
PreciseFloatType< T, U >::Type,
Frame > 
operator- (const Point3DBase< T, Frame > &p1, const Point3DBase< U, Frame > &p2)
 
template<typename T , typename U , class Frame >
Point3DBase< typename
PreciseFloatType< T, U >::Type,
Frame > 
operator- (const Point3DBase< T, Frame > &p, const Vector3DBase< U, Frame > &v)
 

Function Documentation

template<typename T , typename U , class Frame >
Point3DBase< typename PreciseFloatType<T,U>::Type, Frame> operator+ ( const Point3DBase< T, Frame > &  p,
const Vector3DBase< U, Frame > &  v 
)
inline

The sum of a Point and a Vector is a Point. The arguments must be defined in the same reference frame. The resulting point has the higher precision of the precisions of the two arguments.

Definition at line 91 of file Point3DBase.h.

References PV3DBase< T, PointTag, FrameTag >::basicVector(), and PV3DBase< T, VectorTag, FrameTag >::basicVector().

91  {
93  return RT( p.basicVector() + v.basicVector());
94 }
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56
template<typename T , typename U , class Frame >
Point3DBase< typename PreciseFloatType<T,U>::Type, Frame> operator+ ( const Vector3DBase< T, Frame > &  p,
const Point3DBase< U, Frame > &  v 
)
inline

Same as operator+(Point,Vector) (see above)

Definition at line 100 of file Point3DBase.h.

References PV3DBase< T, VectorTag, FrameTag >::basicVector(), and PV3DBase< T, PointTag, FrameTag >::basicVector().

100  {
102  return RT( p.basicVector() + v.basicVector());
103 }
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56
template<typename T , typename U , class Frame >
Vector3DBase< typename PreciseFloatType<T,U>::Type, Frame> operator- ( const Point3DBase< T, Frame > &  p1,
const Point3DBase< U, Frame > &  p2 
)
inline

The difference of two points is a vector. The arguments must be defined in the same reference frame. The resulting vector has the higher precision of the precisions of the two arguments.

Definition at line 111 of file Point3DBase.h.

References PV3DBase< T, PointTag, FrameTag >::basicVector().

111  {
113  return RT( p1.basicVector() - p2.basicVector());
114 }
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56
template<typename T , typename U , class Frame >
Point3DBase< typename PreciseFloatType<T,U>::Type, Frame> operator- ( const Point3DBase< T, Frame > &  p,
const Vector3DBase< U, Frame > &  v 
)
inline

The difference of a Point and a Vector is a Point. The arguments must be defined in the same reference frame. The resulting point has the higher precision of the precisions of the two arguments.

Definition at line 122 of file Point3DBase.h.

References PV3DBase< T, PointTag, FrameTag >::basicVector(), and PV3DBase< T, VectorTag, FrameTag >::basicVector().

122  {
124  return RT( p.basicVector() - v.basicVector());
125 }
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:56