BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtManyDeltaFuncLineShape Class Reference

#include <EvtManyDeltaFuncLineShape.hh>

Inheritance diagram for EvtManyDeltaFuncLineShape:

Public Member Functions

 EvtManyDeltaFuncLineShape ()
 EvtManyDeltaFuncLineShape (double mass, double width, double maxRange, EvtSpinType::spintype sp)
 ~EvtManyDeltaFuncLineShape ()
EvtManyDeltaFuncLineShapeoperator= (const EvtManyDeltaFuncLineShape &x)
 EvtManyDeltaFuncLineShape (const EvtManyDeltaFuncLineShape &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)
Public Member Functions inherited from EvtAbsLineShape
 EvtAbsLineShape ()
 EvtAbsLineShape (double mass, double width, double maxRange, EvtSpinType::spintype sp)
virtual ~EvtAbsLineShape ()
EvtAbsLineShapeoperator= (const EvtAbsLineShape &x)
 EvtAbsLineShape (const EvtAbsLineShape &x)
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 ()

Additional Inherited Members

Protected Attributes inherited from EvtAbsLineShape
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 EvtManyDeltaFuncLineShape.hh.

Constructor & Destructor Documentation

◆ EvtManyDeltaFuncLineShape() [1/3]

EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape ( )

Definition at line 33 of file EvtManyDeltaFuncLineShape.cc.

33{}

Referenced by clone(), EvtManyDeltaFuncLineShape(), and operator=().

◆ EvtManyDeltaFuncLineShape() [2/3]

EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape ( double mass,
double width,
double maxRange,
EvtSpinType::spintype sp )

Definition at line 37 of file EvtManyDeltaFuncLineShape.cc.

39 {
40
41 _mass = mass;
42 _width = width;
43 _spin = sp;
44 _maxRange = maxRange;
45
46 double maxdelta = width;
47
48 _massMax = mass + maxdelta;
49 _massMin = mass - maxdelta;
50
51 if ( _massMin < 0. ) _massMin = 0.;
52}
double mass
EvtSpinType::spintype _spin

◆ ~EvtManyDeltaFuncLineShape()

EvtManyDeltaFuncLineShape::~EvtManyDeltaFuncLineShape ( )

Definition at line 35 of file EvtManyDeltaFuncLineShape.cc.

35{}

◆ EvtManyDeltaFuncLineShape() [3/3]

EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape ( const EvtManyDeltaFuncLineShape & x)

Definition at line 54 of file EvtManyDeltaFuncLineShape.cc.

54 {
55 _mass = x._mass;
56 _width = x._width;
57 _spin = x._spin;
58 _massMax = x._massMax;
59 _massMin = x._massMin;
60 _maxRange = x._maxRange;
61}
Double_t x[10]

Member Function Documentation

◆ clone()

EvtAbsLineShape * EvtManyDeltaFuncLineShape::clone ( )
virtual

Reimplemented from EvtAbsLineShape.

Definition at line 74 of file EvtManyDeltaFuncLineShape.cc.

74 {
75
76 return new EvtManyDeltaFuncLineShape( *this );
77}

◆ getMassProb()

double EvtManyDeltaFuncLineShape::getMassProb ( double mass,
double massPar,
int nDaug,
double * massDau )
virtual

Reimplemented from EvtAbsLineShape.

Definition at line 79 of file EvtManyDeltaFuncLineShape.cc.

80 {
81
82 double dTotMass = 0.;
83
84 int i;
85 for ( i = 0; i < nDaug; i++ ) { dTotMass += massDau[i]; }
86 if ( ( mass < dTotMass ) ) return 0.;
87
88 if ( massPar > 0.0000000001 )
89 {
90 if ( mass > massPar ) return 0.;
91 }
92
93 return 1.;
94}

◆ getRandMass()

double EvtManyDeltaFuncLineShape::getRandMass ( EvtId * parId,
int nDaug,
EvtId * dauId,
EvtId * othDaugId,
double maxMass,
double * dauMasses )
virtual

Reimplemented from EvtAbsLineShape.

Definition at line 96 of file EvtManyDeltaFuncLineShape.cc.

98 {
99
100 int nDelta = int( ( _massMax - _massMin ) / _width );
101 nDelta++;
102 double rand = EvtRandom::Flat( 0., float( nDelta ) );
103 int randI = int( rand );
104 return _massMin + randI * _width;
105}
static double Flat()
Definition EvtRandom.cc:69

◆ operator=()

EvtManyDeltaFuncLineShape & EvtManyDeltaFuncLineShape::operator= ( const EvtManyDeltaFuncLineShape & x)

Definition at line 64 of file EvtManyDeltaFuncLineShape.cc.

64 {
65 _mass = x._mass;
66 _massMax = x._massMax;
67 _massMin = x._massMin;
68 _width = x._width;
69 _maxRange = x._maxRange;
70 _spin = x._spin;
71 return *this;
72}

The documentation for this class was generated from the following files: