Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EvtFlatLineShape Class Reference

#include <EvtFlatLineShape.hh>

Inheritance diagram for EvtFlatLineShape:

EvtAbsLineShape List of all members.

Public Member Functions

void addFactorPn (double factor=0.)
EvtAbsLineShapeclone ()
 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)
EvtFlatLineShapeoperator= (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

Constructor & Destructor Documentation

EvtFlatLineShape::EvtFlatLineShape  ) 
 

00033                                    {
00034 
00035 }

EvtFlatLineShape::EvtFlatLineShape double  mass,
double  width,
double  maxRange,
EvtSpinType::spintype  sp
 

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  ) 
 

00037                                     {
00038 }

EvtFlatLineShape::EvtFlatLineShape const EvtFlatLineShape 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]
 

00056 { _addFactorPn = factor;}

EvtAbsLineShape * EvtFlatLineShape::clone  )  [virtual]
 

Reimplemented from EvtAbsLineShape.

00077                                          {
00078 
00079   return new EvtFlatLineShape(*this);
00080 }

void EvtAbsLineShape::fixForSP8  )  [inline, inherited]
 

00072 { _applyFixForSP8=true;}

double EvtAbsLineShape::getMass  )  [inline, inherited]
 

00041 {return _mass;}

double EvtAbsLineShape::getMassMax  )  [inline, inherited]
 

00043 {return _massMax;}

double EvtAbsLineShape::getMassMin  )  [inline, inherited]
 

00042 {return _massMin;} 

double EvtFlatLineShape::getMassProb double  mass,
double  massPar,
int  nDaug,
double *  massDau
[virtual]
 

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 }

double EvtAbsLineShape::getMaxRange  )  [inline, inherited]
 

00044 {return _maxRange;}

double EvtFlatLineShape::getRandMass EvtId parId,
int  nDaug,
EvtId dauId,
EvtId othDaugId,
double  maxMass,
double *  dauMasses
[virtual]
 

Reimplemented from EvtAbsLineShape.

00101                                                                                                                               {
00102 
00103   return EvtRandom::Flat(_massMin,_massMax);
00104 }

EvtSpinType::spintype EvtAbsLineShape::getSpinType  )  [inline, inherited]
 

00046 {return _spin;}

double EvtAbsLineShape::getWidth  )  [inline, inherited]
 

00045 {return _width;} 

void EvtAbsLineShape::includeBirthFactor bool  yesno  )  [inline, inherited]
 

00055 { _includeBirthFact = yesno; }

void EvtAbsLineShape::includeDecayFactor bool  yesno  )  [inline, inherited]
 

00057 { _includeDecayFact = yesno; }

EvtFlatLineShape & EvtFlatLineShape::operator= const EvtFlatLineShape 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.

00054 {};

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

00050 { _mass=mass;}

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

00053 { _massMax=mass;}

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

00052 { _massMin=mass;}

void EvtAbsLineShape::reSetWidth double  width  )  [inline, inherited]
 

00051 { _width=width;}

double EvtAbsLineShape::rollMass  )  [virtual, inherited]
 

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]
 

00063                                                         { 
00064     _userSetBirthPW.push_back(spin);
00065     _userSetBirthOthD.push_back(othD);
00066     _userSetBirthPar.push_back(par);
00067   }

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

00058                                                     { 
00059     _userSetPW.push_back(spin);
00060     _userSetPWD1.push_back(d1);
00061     _userSetPWD2.push_back(d2);
00062   }


Member Data Documentation

double EvtAbsLineShape::_addFactorPn [protected, inherited]
 

bool EvtAbsLineShape::_applyFixForSP8 [protected, inherited]
 

bool EvtAbsLineShape::_includeBirthFact [protected, inherited]
 

bool EvtAbsLineShape::_includeDecayFact [protected, inherited]
 

double EvtAbsLineShape::_mass [protected, inherited]
 

double EvtAbsLineShape::_massMax [protected, inherited]
 

double EvtAbsLineShape::_massMin [protected, inherited]
 

double EvtAbsLineShape::_maxRange [protected, inherited]
 

EvtSpinType::spintype EvtAbsLineShape::_spin [protected, inherited]
 

std::vector<EvtId> EvtAbsLineShape::_userSetBirthOthD [protected, inherited]
 

std::vector<EvtId> EvtAbsLineShape::_userSetBirthPar [protected, inherited]
 

std::vector<int> EvtAbsLineShape::_userSetBirthPW [protected, inherited]
 

std::vector<int> EvtAbsLineShape::_userSetPW [protected, inherited]
 

std::vector<EvtId> EvtAbsLineShape::_userSetPWD1 [protected, inherited]
 

std::vector<EvtId> EvtAbsLineShape::_userSetPWD2 [protected, inherited]
 

double EvtAbsLineShape::_width [protected, inherited]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:05:20 2011 for BOSS6.5.5 by  doxygen 1.3.9.1