22 #ifndef EVTABSLINESHAPE_HH
23 #define EVTABSLINESHAPE_HH
25 #include "EvtGenBase/EvtSpinType.hh"
26 #include "EvtGenBase/EvtId.hh"
36 EvtAbsLineShape(
double mass,
double width,
double maxRange, EvtSpinType::spintype sp);
41 double getMass() {
return _mass;}
42 double getMassMin() {
return _massMin;}
43 double getMassMax() {
return _massMax;}
44 double getMaxRange() {
return _maxRange;}
45 double getWidth() {
return _width;}
46 EvtSpinType::spintype getSpinType() {
return _spin;}
47 virtual double rollMass();
50 void reSetMass(
double mass) { _mass=mass;}
51 void reSetWidth(
double width) { _width=width;}
52 void reSetMassMin(
double mass) { _massMin=mass;}
53 void reSetMassMax(
double mass) { _massMax=mass;}
54 virtual void reSetBlatt(
double ) {};
55 virtual void reSetBlattBirth(
double ) {};
56 void includeBirthFactor(
bool yesno) { _includeBirthFact = yesno; }
57 void includeDecayFactor(
bool yesno) { _includeDecayFact = yesno; }
59 _userSetPW.push_back(spin);
60 _userSetPWD1.push_back(d1);
61 _userSetPWD2.push_back(d2);
63 void setPWForBirthL(
int spin,
EvtId par,
EvtId othD) {
64 _userSetBirthPW.push_back(spin);
65 _userSetBirthOthD.push_back(othD);
66 _userSetBirthPar.push_back(par);
69 virtual double getRandMass(
EvtId *parId,
int nDaug,
EvtId *dauId,
EvtId *othDaugId,
double maxMass,
double *dauMasses);
70 virtual double getMassProb(
double mass,
double massPar,
int nDaug,
double *massDau);
74 bool _includeDecayFact;
75 bool _includeBirthFact;
86 std::vector<EvtId> _userSetPWD1,_userSetPWD2;
87 std::vector<int> _userSetPW;
90 std::vector<EvtId> _userSetBirthPar,_userSetBirthOthD;
91 std::vector<int> _userSetBirthPW;
93 EvtSpinType::spintype _spin;