CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
VectorDoublet< V1, V2 > Class Template Reference

#include <VectorDoublet.h>

Public Types

typedef V1::ScalarType Scalar1
 
typedef V2::ScalarType Scalar2
 

Public Member Functions

PreciseFloatType< Scalar1,
Scalar2 >::Type 
dot (const VectorDoublet &v) const
 
const V1 & first () const
 
template<class T >
VectorDoubletoperator*= (const T &t)
 
VectorDoubletoperator+= (const VectorDoublet &v)
 
VectorDoublet operator- () const
 
VectorDoubletoperator-= (const VectorDoublet &v)
 
template<class T >
VectorDoubletoperator/= (const T &t)
 
const V2 & second () const
 
 VectorDoublet ()
 
 VectorDoublet (const V1 &a, const V2 &b)
 

Private Attributes

V1 a_
 
V2 b_
 

Detailed Description

template<class V1, class V2>
class VectorDoublet< V1, V2 >

Definition at line 8 of file VectorDoublet.h.

Member Typedef Documentation

template<class V1, class V2>
typedef V1::ScalarType VectorDoublet< V1, V2 >::Scalar1

Definition at line 11 of file VectorDoublet.h.

template<class V1, class V2>
typedef V2::ScalarType VectorDoublet< V1, V2 >::Scalar2

Definition at line 12 of file VectorDoublet.h.

Constructor & Destructor Documentation

template<class V1, class V2>
VectorDoublet< V1, V2 >::VectorDoublet ( )
inline

Definition at line 14 of file VectorDoublet.h.

14 {}
template<class V1, class V2>
VectorDoublet< V1, V2 >::VectorDoublet ( const V1 &  a,
const V2 &  b 
)
inline

Definition at line 15 of file VectorDoublet.h.

15 : a_(a), b_(b) {}
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121

Member Function Documentation

template<class V1, class V2>
PreciseFloatType<Scalar1,Scalar2>::Type VectorDoublet< V1, V2 >::dot ( const VectorDoublet< V1, V2 > &  v) const
inline

Definition at line 46 of file VectorDoublet.h.

46  {
47  return first()*v.first() + second()*v.second();
48  }
const V1 & first() const
Definition: VectorDoublet.h:17
const V2 & second() const
Definition: VectorDoublet.h:18
template<class V1, class V2>
const V1& VectorDoublet< V1, V2 >::first ( ) const
inline
template<class V1, class V2>
template<class T >
VectorDoublet& VectorDoublet< V1, V2 >::operator*= ( const T t)
inline

Definition at line 34 of file VectorDoublet.h.

34  {
35  a_ *= t;
36  b_ *= t;
37  return *this;
38  }
template<class V1, class V2>
VectorDoublet& VectorDoublet< V1, V2 >::operator+= ( const VectorDoublet< V1, V2 > &  v)
inline

Definition at line 20 of file VectorDoublet.h.

20  {
21  a_ += v.first();
22  b_ += v.second();
23  return *this;
24  }
const V1 & first() const
Definition: VectorDoublet.h:17
const V2 & second() const
Definition: VectorDoublet.h:18
template<class V1, class V2>
VectorDoublet VectorDoublet< V1, V2 >::operator- ( ) const
inline

Definition at line 31 of file VectorDoublet.h.

template<class V1, class V2>
VectorDoublet& VectorDoublet< V1, V2 >::operator-= ( const VectorDoublet< V1, V2 > &  v)
inline

Definition at line 25 of file VectorDoublet.h.

25  {
26  a_ -= v.first();
27  b_ -= v.second();
28  return *this;
29  }
const V1 & first() const
Definition: VectorDoublet.h:17
const V2 & second() const
Definition: VectorDoublet.h:18
template<class V1, class V2>
template<class T >
VectorDoublet& VectorDoublet< V1, V2 >::operator/= ( const T t)
inline

Definition at line 40 of file VectorDoublet.h.

40  {
41  a_ /= t;
42  b_ /= t;
43  return *this;
44  }
template<class V1, class V2>
const V2& VectorDoublet< V1, V2 >::second ( ) const
inline

Member Data Documentation

template<class V1, class V2>
V1 VectorDoublet< V1, V2 >::a_
private

Definition at line 52 of file VectorDoublet.h.

template<class V1, class V2>
V2 VectorDoublet< V1, V2 >::b_
private

Definition at line 53 of file VectorDoublet.h.