BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
Kinem< R > Class Template Reference

#include <kinem.h>

Classes

union  DI64
 

Public Member Functions

bool operator== (const Kinem &kinem) const
 
double mass (int i) const
 
bool operator== (const Kinem &kinem) const
 
double mass (int i) const
 

Protected Types

enum  Invar {
  im1 =0 , ip1 , im2 , ip2 ,
  ip3 , im3 , ip4 , is12 ,
  is23 , im4 , ip5 , is34 ,
  is45 , is15 , im5 , ip6 ,
  im6 , im1 =0 , ip1 , im2 ,
  ip2 , ip3 , im3 , ip4 ,
  is12 , is23 , im4 , ip5 ,
  is34 , is45 , is15 , im5 ,
  ip6 , im6
}
 
enum  Invar {
  im1 =0 , ip1 , im2 , ip2 ,
  ip3 , im3 , ip4 , is12 ,
  is23 , im4 , ip5 , is34 ,
  is45 , is15 , im5 , ip6 ,
  im6 , im1 =0 , ip1 , im2 ,
  ip2 , ip3 , im3 , ip4 ,
  is12 , is23 , im4 , ip5 ,
  is34 , is45 , is15 , im5 ,
  ip6 , im6
}
 

Protected Member Functions

 Kinem ()
 
void zero ()
 
bool eq (const double &a, const double &b) const
 
bool neq (const double &a, const double &b) const
 
 Kinem ()
 
void zero ()
 
bool eq (const double &a, const double &b) const
 
bool neq (const double &a, const double &b) const
 

Protected Attributes

double kdata [KLEN]
 

Static Protected Attributes

static const uint64_t idelta =5
 
static const int KLEN =R*(R+1)/2
 

Detailed Description

template<int R>
class Kinem< R >

Definition at line 16 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

Member Enumeration Documentation

◆ Invar [1/2]

template<int R>
enum Kinem::Invar
protected
Enumerator
im1 
ip1 
im2 
ip2 
ip3 
im3 
ip4 
is12 
is23 
im4 
ip5 
is34 
is45 
is15 
im5 
ip6 
im6 
im1 
ip1 
im2 
ip2 
ip3 
im3 
ip4 
is12 
is23 
im4 
ip5 
is34 
is45 
is15 
im5 
ip6 
im6 

Definition at line 64 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

64 {im1=0,
65 ip1, im2,
66 ip2, ip3, im3,
67 ip4, is12, is23, im4,
68 ip5, is34, is45, is15, im5,
69 ip6, /* 6-point inv */ im6};

◆ Invar [2/2]

template<int R>
enum Kinem::Invar
protected
Enumerator
im1 
ip1 
im2 
ip2 
ip3 
im3 
ip4 
is12 
is23 
im4 
ip5 
is34 
is45 
is15 
im5 
ip6 
im6 
im1 
ip1 
im2 
ip2 
ip3 
im3 
ip4 
is12 
is23 
im4 
ip5 
is34 
is45 
is15 
im5 
ip6 
im6 

Definition at line 64 of file BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

64 {im1=0,
65 ip1, im2,
66 ip2, ip3, im3,
67 ip4, is12, is23, im4,
68 ip5, is34, is45, is15, im5,
69 ip6, /* 6-point inv */ im6};

Constructor & Destructor Documentation

◆ Kinem() [1/2]

template<int R>
Kinem< R >::Kinem ( )
inlineprotected

◆ Kinem() [2/2]

template<int R>
Kinem< R >::Kinem ( )
inlineprotected

Member Function Documentation

◆ eq() [1/2]

template<int R>
bool Kinem< R >::eq ( const double &  a,
const double &  b 
) const
inlineprotected

Definition at line 47 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

48 {
49 const DI64 ia={a};
50 const DI64 ib={b};
51 const int64_t diff=ia.i64-ib.i64;
52 return diff == 0LL || static_cast<uint64_t>(llabs(diff)) <= idelta;
53 }
const double b
Definition: slope.cxx:9

◆ eq() [2/2]

template<int R>
bool Kinem< R >::eq ( const double &  a,
const double &  b 
) const
inlineprotected

Definition at line 47 of file BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

48 {
49 const DI64 ia={a};
50 const DI64 ib={b};
51 const int64_t diff=ia.i64-ib.i64;
52 return diff == 0LL || static_cast<uint64_t>(llabs(diff)) <= idelta;
53 }

◆ mass() [1/2]

template<int R>
double Kinem< R >::mass ( int  i) const
inline

Definition at line 22 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

23 {
24 return kdata[(i-1)*(i+2)/2];
25 }

◆ mass() [2/2]

template<int R>
double Kinem< R >::mass ( int  i) const
inline

Definition at line 22 of file BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

23 {
24 return kdata[(i-1)*(i+2)/2];
25 }

◆ neq() [1/2]

template<int R>
bool Kinem< R >::neq ( const double &  a,
const double &  b 
) const
inlineprotected

Definition at line 55 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

56 {
57 const DI64 ia={a};
58 const DI64 ib={b};
59 const int64_t diff=ia.i64-ib.i64;
60 return diff != 0LL && static_cast<uint64_t>(llabs(diff)) > idelta;
61 }

◆ neq() [2/2]

template<int R>
bool Kinem< R >::neq ( const double &  a,
const double &  b 
) const
inlineprotected

Definition at line 55 of file BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

56 {
57 const DI64 ia={a};
58 const DI64 ib={b};
59 const int64_t diff=ia.i64-ib.i64;
60 return diff != 0LL && static_cast<uint64_t>(llabs(diff)) > idelta;
61 }

◆ operator==() [1/2]

template<int R>
bool Kinem< R >::operator== ( const Kinem< R > &  kinem) const

Definition at line 75 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

76{
77 for (int i=0; i<KLEN; i++) {
78 if (not eq(kdata[i], kinem.kdata[i])) return false;
79 }
80 return true;
81}
bool eq(const double &a, const double &b) const

◆ operator==() [2/2]

template<int R>
bool Kinem< R >::operator== ( const Kinem< R > &  kinem) const

◆ zero() [1/2]

template<int R>
void Kinem< R >::zero
protected

Definition at line 84 of file bak-BesEvtGen-00-04-08/src/phokhara/eemmg-lib/src/kinem.h.

85{
86 for (int i=0; i<KLEN; i++) {
87 kdata[i]=0;
88 }
89}

◆ zero() [2/2]

template<int R>
void Kinem< R >::zero ( )
protected

Member Data Documentation

◆ idelta

template<int R>
static const uint64_t Kinem< R >::idelta =5
staticprotected

◆ kdata

template<int R>
double Kinem< R >::kdata
protected

◆ KLEN

template<int R>
static const int Kinem< R >::KLEN =R*(R+1)/2
staticprotected

The documentation for this class was generated from the following files: