EvtFlatLineShape Class Reference

#include <EvtFlatLineShape.hh>

Inheritance diagram for EvtFlatLineShape:

EvtAbsLineShape List of all members.

Public Member Functions

 EvtFlatLineShape ()
 EvtFlatLineShape (double mass, double width, double maxRange, EvtSpinType::spintype sp)
 ~EvtFlatLineShape ()
EvtFlatLineShapeoperator= (const EvtFlatLineShape &x)
 EvtFlatLineShape (const EvtFlatLineShape &x)
EvtAbsLineShapeclone ()
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

Detailed Description

Definition at line 27 of file EvtFlatLineShape.hh.


Constructor & Destructor Documentation

EvtFlatLineShape::EvtFlatLineShape (  ) 

Definition at line 33 of file EvtFlatLineShape.cc.

Referenced by clone().

00033                                    {
00034 
00035 }

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 (  ) 

Definition at line 37 of file EvtFlatLineShape.cc.

00037                                     {
00038 }

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 }


Member Function Documentation

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().

00069 {};

void EvtAbsLineShape::reSetMass ( double  mass  )  [inline, inherited]

Definition at line 50 of file EvtAbsLineShape.hh.

References EvtAbsLineShape::_mass.

Referenced by EvtPartProp::reSetMass().

00050 { _mass=mass;}

void EvtAbsLineShape::reSetMassMax ( double  mass  )  [inline, inherited]

Definition at line 68 of file EvtAbsLineShape.hh.

References EvtAbsLineShape::_massMax.

Referenced by EvtPartProp::reSetMassMax().

00068 { _massMax=mass;}

void EvtAbsLineShape::reSetMassMin ( double  mass  )  [inline, inherited]

Definition at line 67 of file EvtAbsLineShape.hh.

References EvtAbsLineShape::_massMin.

Referenced by EvtPartProp::reSetMassMin().

00067 { _massMin=mass;}

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 }

void EvtAbsLineShape::setPWForBirthL ( int  spin,
EvtId  par,
EvtId  othD 
) [inline, inherited]

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   }

void EvtAbsLineShape::setPWForDecay ( int  spin,
EvtId  d1,
EvtId  d2 
) [inline, inherited]

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   }


Member Data Documentation

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().


Generated on Tue Nov 29 23:19:00 2016 for BOSS_7.0.2 by  doxygen 1.4.7