21#include "EvtGenBase/EvtPatches.hh"
28#include "EvtGenBase/EvtAbsLineShape.hh"
29#include "EvtGenBase/EvtRandom.hh"
30#include "EvtGenBase/EvtComplex.hh"
31#include "EvtGenBase/EvtTwoBodyVertex.hh"
32#include "EvtGenBase/EvtPropBreitWigner.hh"
33#include "EvtGenBase/EvtPDL.hh"
34#include "EvtGenBase/EvtReport.hh"
53 double maxdelta=15.0*width;
57 if ( maxRange > 0.00001 ) {
125 report(
ERROR,
"EvtGen") <<
"In EvtAbsLineShape::getRandMass"<<endl;
127 <<
" with mass "<<maxMass<<endl;
129 <<
" with a minimal mass of "<<
_massMin<<endl;
134 if ( maxMass>-0.5 && maxMass< mMax) mMax=maxMass;
144 double phsp,maxp,maxp1,maxp2;
145 if(themass+massOthD <massParent ){
148 }
else {
return themass;}
150 if( (massOthD + mMax)< massParent){
157 maxp =
max(maxp1,maxp2);
158 }
else {
return themass;}
163 if(rdm> wt )
goto loop;
176 for (i=0; i<nDaug; i++) {
177 dTotMass+=massDau[i];
181 if ( (
mass<dTotMass) )
return 0.;
183 if (
_width< 0.0001)
return 1.;
186 if ( massPar>0.0000000001 ) {
187 if (
mass > massPar)
return 0.;
double tan(const BesAngle a)
ostream & report(Severity severity, const char *facility)
virtual EvtAbsLineShape * clone()
EvtSpinType::spintype _spin
virtual double getMassProb(double mass, double massPar, int nDaug, double *massDau)
virtual ~EvtAbsLineShape()
EvtAbsLineShape & operator=(const EvtAbsLineShape &x)
virtual double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses)
virtual double rollMass()
static double getMeanMass(EvtId i)
static std::string name(EvtId i)