#include <EvtFlatLineShape.hh>
Inheritance diagram for EvtFlatLineShape:
Public Member Functions | |
EvtFlatLineShape () | |
EvtFlatLineShape (double mass, double width, double maxRange, EvtSpinType::spintype sp) | |
~EvtFlatLineShape () | |
EvtFlatLineShape & | operator= (const EvtFlatLineShape &x) |
EvtFlatLineShape (const EvtFlatLineShape &x) | |
EvtAbsLineShape * | clone () |
double | getMassProb (double mass, double massPar, int nDaug, double *massDau) |
double | getRandMass (EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) |
double | getMass () |
double | getMassMin () |
double | getMassMax () |
double | getMaxRange () |
double | getWidth () |
EvtSpinType::spintype | getSpinType () |
virtual double | rollMass () |
void | reSetMass (double mass) |
void | reSetWidth (double width) |
void | reSetMassMin (double mass) |
void | reSetMassMax (double mass) |
virtual void | reSetBlatt (double blatt) |
void | includeBirthFactor (bool yesno) |
void | addFactorPn (double factor=0.) |
void | includeDecayFactor (bool yesno) |
void | setPWForDecay (int spin, EvtId d1, EvtId d2) |
void | setPWForBirthL (int spin, EvtId par, EvtId othD) |
void | fixForSP8 () |
Protected Attributes | |
bool | _includeDecayFact |
bool | _includeBirthFact |
double | _addFactorPn |
double | _mass |
double | _massMin |
double | _massMax |
double | _width |
double | _maxRange |
std::vector< EvtId > | _userSetPWD1 |
std::vector< EvtId > | _userSetPWD2 |
std::vector< int > | _userSetPW |
std::vector< EvtId > | _userSetBirthPar |
std::vector< EvtId > | _userSetBirthOthD |
std::vector< int > | _userSetBirthPW |
EvtSpinType::spintype | _spin |
bool | _applyFixForSP8 |
Definition at line 27 of file EvtFlatLineShape.hh.
EvtFlatLineShape::EvtFlatLineShape | ( | ) |
EvtFlatLineShape::EvtFlatLineShape | ( | double | mass, | |
double | width, | |||
double | maxRange, | |||
EvtSpinType::spintype | sp | |||
) |
Definition at line 40 of file EvtFlatLineShape.cc.
References EvtAbsLineShape::_mass, EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, EvtAbsLineShape::_maxRange, EvtAbsLineShape::_spin, and EvtAbsLineShape::_width.
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 }
EvtFlatLineShape::~EvtFlatLineShape | ( | ) |
EvtFlatLineShape::EvtFlatLineShape | ( | const EvtFlatLineShape & | x | ) |
Definition at line 56 of file EvtFlatLineShape.cc.
References EvtAbsLineShape::_mass, EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, EvtAbsLineShape::_maxRange, EvtAbsLineShape::_spin, EvtAbsLineShape::_width, and x.
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 }
void EvtAbsLineShape::addFactorPn | ( | double | factor = 0. |
) | [inline, inherited] |
Definition at line 71 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_addFactorPn.
Referenced by EvtPartProp::addFactorPn(), and EvtRelBreitWignerBarrierFact::getRandMass().
00071 { _addFactorPn = factor;}
EvtAbsLineShape * EvtFlatLineShape::clone | ( | ) | [virtual] |
Reimplemented from EvtAbsLineShape.
Definition at line 77 of file EvtFlatLineShape.cc.
References EvtFlatLineShape().
00077 { 00078 00079 return new EvtFlatLineShape(*this); 00080 }
void EvtAbsLineShape::fixForSP8 | ( | ) | [inline, inherited] |
Definition at line 87 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_applyFixForSP8.
Referenced by EvtPartProp::fixLSForSP8().
00087 { _applyFixForSP8=true;}
double EvtAbsLineShape::getMass | ( | ) | [inline, inherited] |
Definition at line 41 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_mass.
Referenced by EvtPartProp::getMass(), and EvtPartProp::newLineShape().
00041 {return _mass;}
double EvtAbsLineShape::getMassMax | ( | ) | [inline, inherited] |
Definition at line 43 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_massMax.
Referenced by EvtPartProp::getMassMax().
00043 {return _massMax;}
double EvtAbsLineShape::getMassMin | ( | ) | [inline, inherited] |
Definition at line 42 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_massMin.
Referenced by EvtPartProp::getMassMin().
00042 {return _massMin;}
double EvtFlatLineShape::getMassProb | ( | double | mass, | |
double | massPar, | |||
int | nDaug, | |||
double * | massDau | |||
) | [virtual] |
Reimplemented from EvtAbsLineShape.
Definition at line 83 of file EvtFlatLineShape.cc.
References genRecEmupikp::i.
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 }
double EvtAbsLineShape::getMaxRange | ( | ) | [inline, inherited] |
Definition at line 44 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_maxRange.
Referenced by EvtPartProp::getMaxRange(), and EvtPartProp::newLineShape().
00044 {return _maxRange;}
double EvtFlatLineShape::getRandMass | ( | EvtId * | parId, | |
int | nDaug, | |||
EvtId * | dauId, | |||
EvtId * | othDaugId, | |||
double | maxMass, | |||
double * | dauMasses | |||
) | [virtual] |
Reimplemented from EvtAbsLineShape.
Definition at line 101 of file EvtFlatLineShape.cc.
References EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, and EvtRandom::Flat().
00101 { 00102 00103 return EvtRandom::Flat(_massMin,_massMax); 00104 }
EvtSpinType::spintype EvtAbsLineShape::getSpinType | ( | ) | [inline, inherited] |
Definition at line 46 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_spin.
Referenced by EvtPartProp::newLineShape().
00046 {return _spin;}
double EvtAbsLineShape::getWidth | ( | ) | [inline, inherited] |
Definition at line 45 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_width.
Referenced by EvtPartProp::getWidth(), and EvtPartProp::newLineShape().
00045 {return _width;}
void EvtAbsLineShape::includeBirthFactor | ( | bool | yesno | ) | [inline, inherited] |
Definition at line 70 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_includeBirthFact.
Referenced by EvtPartProp::includeBirthFactor().
00070 { _includeBirthFact = yesno; }
void EvtAbsLineShape::includeDecayFactor | ( | bool | yesno | ) | [inline, inherited] |
Definition at line 72 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_includeDecayFact.
Referenced by EvtPartProp::includeDecayFactor().
00072 { _includeDecayFact = yesno; }
EvtFlatLineShape & EvtFlatLineShape::operator= | ( | const EvtFlatLineShape & | x | ) |
Definition at line 66 of file EvtFlatLineShape.cc.
References EvtAbsLineShape::_mass, EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, EvtAbsLineShape::_maxRange, EvtAbsLineShape::_spin, EvtAbsLineShape::_width, and x.
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 }
virtual void EvtAbsLineShape::reSetBlatt | ( | double | blatt | ) | [inline, virtual, inherited] |
Reimplemented in EvtRelBreitWignerBarrierFact.
Definition at line 69 of file EvtAbsLineShape.hh.
Referenced by EvtPartProp::reSetBlatt().
void EvtAbsLineShape::reSetMass | ( | double | mass | ) | [inline, inherited] |
Definition at line 50 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_mass.
Referenced by EvtPartProp::reSetMass().
void EvtAbsLineShape::reSetMassMax | ( | double | mass | ) | [inline, inherited] |
Definition at line 68 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_massMax.
Referenced by EvtPartProp::reSetMassMax().
void EvtAbsLineShape::reSetMassMin | ( | double | mass | ) | [inline, inherited] |
Definition at line 67 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_massMin.
Referenced by EvtPartProp::reSetMassMin().
void EvtAbsLineShape::reSetWidth | ( | double | width | ) | [inline, inherited] |
Definition at line 51 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_mass, EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, EvtAbsLineShape::_maxRange, and EvtAbsLineShape::_width.
Referenced by EvtPartProp::reSetWidth().
00051 { 00052 _width=width; 00053 // <--- added by L.L. Wang to fix a bug 00054 double maxdelta=15.0*width; 00055 if ( _maxRange > 0.00001 ) { 00056 _massMax=_mass+maxdelta; 00057 _massMin=_mass-_maxRange; 00058 } 00059 else{ 00060 _massMax=_mass+maxdelta; 00061 _massMin=_mass-15.0*width; 00062 } 00063 if ( _massMin< 0. ) _massMin=0.; 00064 _massMax=_mass+maxdelta; 00065 // ---> // 00066 }
double EvtAbsLineShape::rollMass | ( | ) | [virtual, inherited] |
Definition at line 102 of file EvtAbsLineShape.cc.
References EvtAbsLineShape::_mass, EvtAbsLineShape::_massMax, EvtAbsLineShape::_massMin, EvtAbsLineShape::_width, EvtRandom::Flat(), tan(), and subSeperate::temp.
Referenced by EvtPartProp::rollMass().
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 }
Definition at line 78 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_userSetBirthOthD, EvtAbsLineShape::_userSetBirthPar, and EvtAbsLineShape::_userSetBirthPW.
Referenced by EvtPartProp::setPWForBirthL().
00078 { 00079 _userSetBirthPW.push_back(spin); 00080 _userSetBirthOthD.push_back(othD); 00081 _userSetBirthPar.push_back(par); 00082 }
Definition at line 73 of file EvtAbsLineShape.hh.
References EvtAbsLineShape::_userSetPW, EvtAbsLineShape::_userSetPWD1, and EvtAbsLineShape::_userSetPWD2.
Referenced by EvtPartProp::setPWForDecay().
00073 { 00074 _userSetPW.push_back(spin); 00075 _userSetPWD1.push_back(d1); 00076 _userSetPWD2.push_back(d2); 00077 }
double EvtAbsLineShape::_addFactorPn [protected, inherited] |
Definition at line 92 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::addFactorPn(), EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::getRandMass().
bool EvtAbsLineShape::_applyFixForSP8 [protected, inherited] |
Definition at line 112 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtAbsLineShape::fixForSP8(), EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::operator=().
bool EvtAbsLineShape::_includeBirthFact [protected, inherited] |
Definition at line 91 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtAbsLineShape::includeBirthFactor(), EvtRelBreitWignerBarrierFact::operator=(), and EvtAbsLineShape::operator=().
bool EvtAbsLineShape::_includeDecayFact [protected, inherited] |
Definition at line 90 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtAbsLineShape::includeDecayFactor(), EvtRelBreitWignerBarrierFact::operator=(), and EvtAbsLineShape::operator=().
double EvtAbsLineShape::_mass [protected, inherited] |
Definition at line 93 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtAbsLineShape::getMass(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtAbsLineShape::getRandMass(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), EvtAbsLineShape::operator=(), EvtAbsLineShape::reSetMass(), EvtAbsLineShape::reSetWidth(), and EvtAbsLineShape::rollMass().
double EvtAbsLineShape::_massMax [protected, inherited] |
Definition at line 95 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtAbsLineShape::getMassMax(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtManyDeltaFuncLineShape::getRandMass(), getRandMass(), EvtAbsLineShape::getRandMass(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), EvtAbsLineShape::operator=(), EvtAbsLineShape::reSetMassMax(), EvtAbsLineShape::reSetWidth(), and EvtAbsLineShape::rollMass().
double EvtAbsLineShape::_massMin [protected, inherited] |
Definition at line 94 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtAbsLineShape::getMassMin(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtManyDeltaFuncLineShape::getRandMass(), getRandMass(), EvtAbsLineShape::getRandMass(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), EvtAbsLineShape::operator=(), EvtAbsLineShape::reSetMassMin(), EvtAbsLineShape::reSetWidth(), and EvtAbsLineShape::rollMass().
double EvtAbsLineShape::_maxRange [protected, inherited] |
Definition at line 97 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtAbsLineShape::getMaxRange(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), EvtAbsLineShape::operator=(), and EvtAbsLineShape::reSetWidth().
EvtSpinType::spintype EvtAbsLineShape::_spin [protected, inherited] |
Definition at line 110 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtAbsLineShape::getSpinType(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), and EvtAbsLineShape::operator=().
std::vector<EvtId> EvtAbsLineShape::_userSetBirthOthD [protected, inherited] |
Definition at line 107 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForBirthL().
std::vector<EvtId> EvtAbsLineShape::_userSetBirthPar [protected, inherited] |
Definition at line 107 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForBirthL().
std::vector<int> EvtAbsLineShape::_userSetBirthPW [protected, inherited] |
Definition at line 108 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForBirthL().
std::vector<int> EvtAbsLineShape::_userSetPW [protected, inherited] |
Definition at line 104 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForDecay().
std::vector<EvtId> EvtAbsLineShape::_userSetPWD1 [protected, inherited] |
Definition at line 103 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForDecay().
std::vector<EvtId> EvtAbsLineShape::_userSetPWD2 [protected, inherited] |
Definition at line 103 of file EvtAbsLineShape.hh.
Referenced by EvtRelBreitWignerBarrierFact::getRandMass(), and EvtAbsLineShape::setPWForDecay().
double EvtAbsLineShape::_width [protected, inherited] |
Definition at line 96 of file EvtAbsLineShape.hh.
Referenced by EvtAbsLineShape::EvtAbsLineShape(), EvtFlatLineShape(), EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape(), EvtRelBreitWignerBarrierFact::EvtRelBreitWignerBarrierFact(), EvtRelBreitWignerBarrierFact::getMassProb(), EvtAbsLineShape::getMassProb(), EvtRelBreitWignerBarrierFact::getRandMass(), EvtManyDeltaFuncLineShape::getRandMass(), EvtAbsLineShape::getRandMass(), EvtAbsLineShape::getWidth(), EvtRelBreitWignerBarrierFact::operator=(), EvtManyDeltaFuncLineShape::operator=(), operator=(), EvtAbsLineShape::operator=(), EvtAbsLineShape::reSetWidth(), and EvtAbsLineShape::rollMass().