EvtTwoBodyKine Class Reference

#include <EvtTwoBodyKine.hh>

List of all members.

Public Types

 A
 B
 AB
enum  Index { A, B, AB }

Public Member Functions

 EvtTwoBodyKine ()
 EvtTwoBodyKine (double mA, double mB, double mAB)
 EvtTwoBodyKine (const EvtTwoBodyKine &other)
 ~EvtTwoBodyKine ()
double mA () const
double mB () const
double mAB () const
double m (Index i) const
double p (Index i=AB) const
double e (Index i, Index j) const
void print (std::ostream &os) const

Private Attributes

double _mA
double _mB
double _mAB


Detailed Description

Definition at line 17 of file EvtTwoBodyKine.hh.


Member Enumeration Documentation

enum EvtTwoBodyKine::Index

Enumerator:
A 
B 
AB 

Definition at line 21 of file EvtTwoBodyKine.hh.

00021 {A,B,AB}; 


Constructor & Destructor Documentation

EvtTwoBodyKine::EvtTwoBodyKine (  ) 

Definition at line 20 of file EvtTwoBodyKine.cc.

00021   : _mA(0.), _mB(0.), _mAB(0.)
00022 {}

EvtTwoBodyKine::EvtTwoBodyKine ( double  mA,
double  mB,
double  mAB 
)

Definition at line 24 of file EvtTwoBodyKine.cc.

References Bes_Common::INFO, and report().

00025   : _mA(mA), _mB(mB), _mAB(mAB)
00026 {
00027   if(mAB < mA + mB) {
00028 
00029     report(INFO,"EvtGen") << mAB << " < " << mA << " + " << mB << endl;
00030     assert(0);
00031   }
00032 }

EvtTwoBodyKine::EvtTwoBodyKine ( const EvtTwoBodyKine other  ) 

Definition at line 34 of file EvtTwoBodyKine.cc.

00035   : _mA(other._mA), _mB(other._mB), _mAB(other._mAB)
00036 {}

EvtTwoBodyKine::~EvtTwoBodyKine (  ) 

Definition at line 38 of file EvtTwoBodyKine.cc.

00039 {}


Member Function Documentation

double EvtTwoBodyKine::e ( Index  i,
Index  j 
) const

Definition at line 81 of file EvtTwoBodyKine.cc.

References m(), and p().

00082 {
00083   double ret = m(i);
00084   if(i != j) {
00085 
00086     double pD = p(j);
00087     ret = sqrt(ret*ret + pD*pD);
00088   }
00089   return ret;
00090 }

double EvtTwoBodyKine::m ( Index  i  )  const

Definition at line 42 of file EvtTwoBodyKine.cc.

References _mA, _mAB, _mB, A, and B.

Referenced by e().

00043 {
00044   double ret = _mAB;
00045   if(A == i) ret = _mA;
00046   else
00047     if(B == i) ret = _mB;
00048   
00049   return ret;
00050 }

double EvtTwoBodyKine::mA (  )  const [inline]

Definition at line 30 of file EvtTwoBodyKine.hh.

References _mA.

Referenced by EvtTwoBodyVertex::mA().

00030 { return _mA; }

double EvtTwoBodyKine::mAB (  )  const [inline]

Definition at line 32 of file EvtTwoBodyKine.hh.

References _mAB.

Referenced by EvtTwoBodyVertex::mAB().

00032 { return _mAB; } 

double EvtTwoBodyKine::mB (  )  const [inline]

Definition at line 31 of file EvtTwoBodyKine.hh.

References _mB.

Referenced by EvtTwoBodyVertex::mB().

00031 { return _mB; }

double EvtTwoBodyKine::p ( Index  i = AB  )  const

Definition at line 53 of file EvtTwoBodyKine.cc.

References _mA, _mAB, _mB, A, AB, and x.

Referenced by e(), EvtTwoBodyVertex::EvtTwoBodyVertex(), EvtDalitzReso::lass(), and EvtDalitzReso::psFactor().

00054 { 
00055   double p0 = 0.;
00056 
00057   if(i == AB) {
00058 
00059     double x = _mAB*_mAB - _mA*_mA - _mB*_mB;
00060     double y = 2*_mA*_mB;
00061     p0 = sqrt(x*x - y*y)/2./_mAB;
00062   }
00063   else 
00064     if(i == A) {
00065 
00066       double x = _mA*_mA - _mAB*_mAB - _mB*_mB;
00067       double y = 2*_mAB*_mB;
00068       p0 = sqrt(x*x - y*y)/2./_mA;
00069     }
00070     else {
00071 
00072       double x = _mB*_mB - _mAB*_mAB - _mA*_mA;
00073       double y = 2*_mAB*_mA;
00074       p0 = sqrt(x*x - y*y)/2./_mB;
00075     }
00076 
00077   return p0;
00078 }

void EvtTwoBodyKine::print ( std::ostream os  )  const

Referenced by operator<<().


Member Data Documentation

double EvtTwoBodyKine::_mA [private]

Definition at line 48 of file EvtTwoBodyKine.hh.

Referenced by m(), mA(), and p().

double EvtTwoBodyKine::_mAB [private]

Definition at line 50 of file EvtTwoBodyKine.hh.

Referenced by m(), mAB(), and p().

double EvtTwoBodyKine::_mB [private]

Definition at line 49 of file EvtTwoBodyKine.hh.

Referenced by m(), mB(), and p().


Generated on Tue Nov 29 23:19:29 2016 for BOSS_7.0.2 by  doxygen 1.4.7