#include <EvtFlatLineShape.hh>
Inheritance diagram for EvtFlatLineShape:
Public Member Functions | |
void | addFactorPn (double factor=0.) |
EvtAbsLineShape * | clone () |
EvtFlatLineShape (const EvtFlatLineShape &x) | |
EvtFlatLineShape (double mass, double width, double maxRange, EvtSpinType::spintype sp) | |
EvtFlatLineShape () | |
void | fixForSP8 () |
double | getMass () |
double | getMassMax () |
double | getMassMin () |
double | getMassProb (double mass, double massPar, int nDaug, double *massDau) |
double | getMaxRange () |
double | getRandMass (EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) |
EvtSpinType::spintype | getSpinType () |
double | getWidth () |
void | includeBirthFactor (bool yesno) |
void | includeDecayFactor (bool yesno) |
EvtFlatLineShape & | operator= (const EvtFlatLineShape &x) |
virtual void | reSetBlatt (double blatt) |
void | reSetMass (double mass) |
void | reSetMassMax (double mass) |
void | reSetMassMin (double mass) |
void | reSetWidth (double width) |
virtual double | rollMass () |
void | setPWForBirthL (int spin, EvtId par, EvtId othD) |
void | setPWForDecay (int spin, EvtId d1, EvtId d2) |
~EvtFlatLineShape () | |
Protected Attributes | |
double | _addFactorPn |
bool | _applyFixForSP8 |
bool | _includeBirthFact |
bool | _includeDecayFact |
double | _mass |
double | _massMax |
double | _massMin |
double | _maxRange |
EvtSpinType::spintype | _spin |
std::vector< EvtId > | _userSetBirthOthD |
std::vector< EvtId > | _userSetBirthPar |
std::vector< int > | _userSetBirthPW |
std::vector< int > | _userSetPW |
std::vector< EvtId > | _userSetPWD1 |
std::vector< EvtId > | _userSetPWD2 |
double | _width |
|
00033 { 00034 00035 }
|
|
00040 { 00041 00042 _mass=mass; 00043 _width=width; 00044 _spin=sp; 00045 _maxRange=maxRange; 00046 00047 double maxdelta = width; 00048 00049 _massMax=mass+maxdelta; 00050 _massMin=mass-maxdelta; 00051 00052 if ( _massMin< 0. ) _massMin=0.; 00053 00054 }
|
|
00037 { 00038 }
|
|
00056 { 00057 _mass=x._mass; 00058 _width=x._width; 00059 _spin=x._spin; 00060 _massMax=x._massMax; 00061 _massMin=x._massMin; 00062 _maxRange=x._maxRange; 00063 00064 }
|
|
00056 { _addFactorPn = factor;}
|
|
Reimplemented from EvtAbsLineShape. 00077 { 00078 00079 return new EvtFlatLineShape(*this); 00080 }
|
|
00072 { _applyFixForSP8=true;}
|
|
00041 {return _mass;}
|
|
00043 {return _massMax;}
|
|
00042 {return _massMin;}
|
|
Reimplemented from EvtAbsLineShape. 00083 { 00084 00085 00086 double dTotMass=0.; 00087 00088 int i; 00089 for (i=0; i<nDaug; i++) { 00090 dTotMass+=massDau[i]; 00091 } 00092 if ( (mass<dTotMass) ) return 0.; 00093 00094 if ( massPar>0.0000000001 ) { 00095 if ( mass > massPar) return 0.; 00096 } 00097 00098 return 1.; 00099 }
|
|
00044 {return _maxRange;}
|
|
Reimplemented from EvtAbsLineShape. 00101 { 00102 00103 return EvtRandom::Flat(_massMin,_massMax); 00104 }
|
|
00046 {return _spin;}
|
|
00045 {return _width;}
|
|
00055 { _includeBirthFact = yesno; }
|
|
00057 { _includeDecayFact = yesno; }
|
|
00066 { 00067 _mass=x._mass; 00068 _massMax=x._massMax; 00069 _massMin=x._massMin; 00070 _width=x._width; 00071 _maxRange=x._maxRange; 00072 _spin=x._spin; 00073 return *this; 00074 00075 }
|
|
Reimplemented in EvtRelBreitWignerBarrierFact. 00054 {};
|
|
00050 { _mass=mass;}
|
|
00053 { _massMax=mass;}
|
|
00052 { _massMin=mass;}
|
|
00051 { _width=width;}
|
|
00102 { 00103 00104 double ymin, ymax; 00105 double temp; 00106 00107 if ( _width < 0.0001 ) { 00108 return _mass; 00109 } 00110 else{ 00111 ymin = atan( 2.0*(_massMin-_mass)/_width); 00112 ymax = atan( 2.0*(_massMax-_mass)/_width); 00113 00114 temp= ( _mass + ((_width/2.0)*tan(EvtRandom::Flat(ymin,ymax)))); 00115 00116 return temp; 00117 } 00118 }
|
|
00063 { 00064 _userSetBirthPW.push_back(spin); 00065 _userSetBirthOthD.push_back(othD); 00066 _userSetBirthPar.push_back(par); 00067 }
|
|
00058 { 00059 _userSetPW.push_back(spin); 00060 _userSetPWD1.push_back(d1); 00061 _userSetPWD2.push_back(d2); 00062 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|