#include <EvtTwoBodyVertex.hh>
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 |
Definition at line 21 of file EvtTwoBodyVertex.hh.
EvtTwoBodyVertex::EvtTwoBodyVertex | ( | ) |
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 | ) |
EvtTwoBodyVertex::~EvtTwoBodyVertex | ( | ) |
double EvtTwoBodyVertex::formFactor | ( | EvtTwoBodyKine | x | ) | const |
Definition at line 77 of file EvtTwoBodyVertex.cc.
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().
double EvtTwoBodyVertex::mAB | ( | ) | const [inline] |
Definition at line 37 of file EvtTwoBodyVertex.hh.
References _kine, and EvtTwoBodyKine::mAB().
Referenced by EvtMassAmp::amplitude(), and widthFactor().
double EvtTwoBodyVertex::mB | ( | ) | const [inline] |
Definition at line 36 of file EvtTwoBodyVertex.hh.
References _kine, and EvtTwoBodyKine::mB().
Referenced by EvtMassAmp::amplitude().
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.
Referenced by EvtMassAmp::amplitude(), EvtPto3PAmp::numerator(), and EvtDalitzReso::numerator().
void EvtTwoBodyVertex::print | ( | std::ostream & | os | ) | const |
void EvtTwoBodyVertex::set_f | ( | double | R | ) |
Definition at line 50 of file EvtTwoBodyVertex.cc.
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 }
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().