CMS 3D CMS Logo

Classes | Functions

CMSSW_4_4_3_patch1/src/TrackPropagation/RungeKutta/src/VectorDoublet.h File Reference

#include "FWCore/Utilities/interface/Visibility.h"
#include "DataFormats/GeometryVector/interface/PreciseFloatType.h"

Go to the source code of this file.

Classes

class  VectorDoublet< V1, V2 >

Functions

template<class V1 , class V2 , class Scalar >
VectorDoublet< V1, V2 > operator* (const VectorDoublet< V1, V2 > &v, const Scalar &s)
template<class V1 , class V2 , class Scalar >
VectorDoublet< V1, V2 > operator* (const Scalar &s, const VectorDoublet< V1, V2 > &v)
template<class V1 , class V2 >
VectorDoublet< V1, V2 > operator+ (const VectorDoublet< V1, V2 > &a, const VectorDoublet< V1, V2 > &b)
 vector sum and subtraction
template<class V1 , class V2 >
VectorDoublet< V1, V2 > operator- (const VectorDoublet< V1, V2 > &a, const VectorDoublet< V1, V2 > &b)
template<class V1 , class V2 , class Scalar >
VectorDoublet< V1, V2 > operator/ (const VectorDoublet< V1, V2 > &v, const Scalar &s)

Function Documentation

template<class V1 , class V2 , class Scalar >
VectorDoublet<V1,V2> operator* ( const VectorDoublet< V1, V2 > &  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 74 of file VectorDoublet.h.

References VectorDoublet< V1, V2 >::first(), asciidump::s, and VectorDoublet< V1, V2 >::second().

                                                                                       {
  return VectorDoublet<V1,V2>( v.first()*s, v.second()*s);
}
template<class V1 , class V2 , class Scalar >
VectorDoublet<V1,V2> operator* ( const Scalar &  s,
const VectorDoublet< V1, V2 > &  v 
) [inline]
template<class V1 , class V2 >
VectorDoublet<V1,V2> operator+ ( const VectorDoublet< V1, V2 > &  a,
const VectorDoublet< V1, V2 > &  b 
) [inline]

vector sum and subtraction

Definition at line 60 of file VectorDoublet.h.

References VectorDoublet< V1, V2 >::first(), and VectorDoublet< V1, V2 >::second().

                                                                         {
  return VectorDoublet<V1,V2>(a.first()+b.first(), a.second()+b.second());
}
template<class V1 , class V2 >
VectorDoublet<V1,V2> operator- ( const VectorDoublet< V1, V2 > &  a,
const VectorDoublet< V1, V2 > &  b 
) [inline]

Definition at line 66 of file VectorDoublet.h.

References VectorDoublet< V1, V2 >::first(), and VectorDoublet< V1, V2 >::second().

                                                                         {
  return VectorDoublet<V1,V2>(a.first()-b.first(), a.second()-b.second());
}
template<class V1 , class V2 , class Scalar >
VectorDoublet<V1,V2> operator/ ( const VectorDoublet< V1, V2 > &  v,
const Scalar &  s 
) [inline]