EvtTwoBodyVertex Class Reference

#include <EvtTwoBodyVertex.hh>

List of all members.

Public Member Functions

 EvtTwoBodyVertex ()
 EvtTwoBodyVertex (double mA, double mB, double mAB, int L)
 EvtTwoBodyVertex (const EvtTwoBodyVertex &other)
 ~EvtTwoBodyVertex ()
double widthFactor (EvtTwoBodyKine x) const
double formFactor (EvtTwoBodyKine x) const
double phaseSpaceFactor (EvtTwoBodyKine x, EvtTwoBodyKine::Index) const
int L () const
double mA () const
double mB () const
double mAB () const
double pD () const
void print (std::ostream &os) const
void set_f (double R)

Private Attributes

EvtTwoBodyKine _kine
int _LL
double _p0
EvtBlattWeisskopf_f


Detailed Description

Definition at line 21 of file EvtTwoBodyVertex.hh.


Constructor & Destructor Documentation

EvtTwoBodyVertex::EvtTwoBodyVertex (  ) 

Definition at line 22 of file EvtTwoBodyVertex.cc.

00023   : _LL(0), _p0(0), _f(0)
00024 {}

EvtTwoBodyVertex::EvtTwoBodyVertex ( double  mA,
double  mB,
double  mAB,
int  L 
)

Definition at line 26 of file EvtTwoBodyVertex.cc.

References _kine, _p0, and EvtTwoBodyKine::p().

00027   : _kine(), _LL(L), _p0(0), _f(0)
00028 {
00029   // Kinematics is initialized only if the decay is above threshold
00030 
00031   if(mAB > mA + mB) {
00032 
00033     _kine = EvtTwoBodyKine(mA,mB,mAB);
00034     _p0 = _kine.p();
00035   }
00036 }

EvtTwoBodyVertex::EvtTwoBodyVertex ( const EvtTwoBodyVertex other  ) 

Definition at line 39 of file EvtTwoBodyVertex.cc.

00040   : _kine(other._kine), _LL(other._LL), _p0(other._p0), 
00041   _f( (other._f) ? new EvtBlattWeisskopf(*other._f) : 0 )
00042 {}

EvtTwoBodyVertex::~EvtTwoBodyVertex (  ) 

Definition at line 44 of file EvtTwoBodyVertex.cc.

References _f.

00045 {
00046   if(_f) delete _f;
00047 }


Member Function Documentation

double EvtTwoBodyVertex::formFactor ( EvtTwoBodyKine  x  )  const

Definition at line 77 of file EvtTwoBodyVertex.cc.

References _f, and x.

Referenced by EvtPto3PAmp::amplitude(), EvtMassAmp::amplitude(), EvtDalitzReso::evaluate(), and widthFactor().

00078 {
00079   double ff = 1.;
00080 
00081   if(_f) {
00082 
00083     double p1 = x.p();
00084     ff = (*_f)(p1);
00085   }
00086   
00087   return ff;
00088 }

int EvtTwoBodyVertex::L (  )  const [inline]

Definition at line 34 of file EvtTwoBodyVertex.hh.

References _LL.

Referenced by EvtMassAmp::amplitude().

00034 { return _LL; }

double EvtTwoBodyVertex::mA (  )  const [inline]

Definition at line 35 of file EvtTwoBodyVertex.hh.

References _kine, and EvtTwoBodyKine::mA().

Referenced by EvtMassAmp::amplitude().

00035 { return _kine.mA(); }

double EvtTwoBodyVertex::mAB (  )  const [inline]

Definition at line 37 of file EvtTwoBodyVertex.hh.

References _kine, and EvtTwoBodyKine::mAB().

Referenced by EvtMassAmp::amplitude(), and widthFactor().

00037 { return _kine.mAB(); }

double EvtTwoBodyVertex::mB (  )  const [inline]

Definition at line 36 of file EvtTwoBodyVertex.hh.

References _kine, and EvtTwoBodyKine::mB().

Referenced by EvtMassAmp::amplitude().

00036 { return _kine.mB(); }

double EvtTwoBodyVertex::pD (  )  const [inline]

Definition at line 38 of file EvtTwoBodyVertex.hh.

References _p0.

Referenced by EvtMassAmp::amplitude(), EvtDalitzReso::evaluate(), and EvtAbsLineShape::getRandMass().

00038 { return _p0; }

double EvtTwoBodyVertex::phaseSpaceFactor ( EvtTwoBodyKine  x,
EvtTwoBodyKine::Index   
) const

Definition at line 69 of file EvtTwoBodyVertex.cc.

References _LL, and x.

Referenced by EvtMassAmp::amplitude(), EvtPto3PAmp::numerator(), and EvtDalitzReso::numerator().

00070 {
00071   double p1 = x.p(i);
00072   double factor = pow(p1,_LL);
00073   return factor;
00074 }

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

void EvtTwoBodyVertex::set_f ( double  R  ) 

Definition at line 50 of file EvtTwoBodyVertex.cc.

References _f, _LL, and _p0.

Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), EvtPto3PAmp::set_fb(), EvtDalitzReso::set_fb(), EvtPto3PAmp::set_fd(), and EvtDalitzReso::set_fd().

00051 {
00052   if(_f) delete _f;
00053   _f = new EvtBlattWeisskopf(_LL,R,_p0);
00054 }

double EvtTwoBodyVertex::widthFactor ( EvtTwoBodyKine  x  )  const

Definition at line 57 of file EvtTwoBodyVertex.cc.

References _LL, _p0, formFactor(), mAB(), and x.

Referenced by EvtPto3PAmp::amplitude(), EvtMassAmp::amplitude(), EvtDalitzReso::evaluate(), and EvtDalitzReso::lass().

00058 {
00059   assert(_p0 > 0.);
00060 
00061   double p1 = x.p();
00062   double ff = formFactor(x);
00063   double factor = pow(p1/_p0,2*_LL+1)*pow(mAB()/x.mAB(),2) * ff * ff;  //pingrg,2008-11-24, in EvtGen Manual Eq 66, (m0/m) should be squared 
00064 
00065   return factor;
00066 }


Member Data Documentation

EvtBlattWeisskopf* EvtTwoBodyVertex::_f [private]

Definition at line 48 of file EvtTwoBodyVertex.hh.

Referenced by formFactor(), set_f(), and ~EvtTwoBodyVertex().

EvtTwoBodyKine EvtTwoBodyVertex::_kine [private]

Definition at line 45 of file EvtTwoBodyVertex.hh.

Referenced by EvtTwoBodyVertex(), mA(), mAB(), and mB().

int EvtTwoBodyVertex::_LL [private]

Definition at line 46 of file EvtTwoBodyVertex.hh.

Referenced by L(), phaseSpaceFactor(), set_f(), and widthFactor().

double EvtTwoBodyVertex::_p0 [private]

Definition at line 47 of file EvtTwoBodyVertex.hh.

Referenced by EvtTwoBodyVertex(), pD(), set_f(), and widthFactor().


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