BOSS 7.0.1
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 ()
 
virtual EvtAbsLineShapeclone ()
 
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)
 
virtual double getRandMass (EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses)
 
virtual double getMassProb (double mass, double massPar, int nDaug, double *massDau)
 
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 {
34
35}

Referenced by clone().

◆ EvtManyDeltaFuncLineShape() [2/3]

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

Definition at line 40 of file EvtManyDeltaFuncLineShape.cc.

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

◆ ~EvtManyDeltaFuncLineShape()

EvtManyDeltaFuncLineShape::~EvtManyDeltaFuncLineShape ( )

Definition at line 37 of file EvtManyDeltaFuncLineShape.cc.

37 {
38}

◆ EvtManyDeltaFuncLineShape() [3/3]

EvtManyDeltaFuncLineShape::EvtManyDeltaFuncLineShape ( const EvtManyDeltaFuncLineShape x)

Definition at line 56 of file EvtManyDeltaFuncLineShape.cc.

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

Member Function Documentation

◆ clone()

EvtAbsLineShape * EvtManyDeltaFuncLineShape::clone ( )
virtual

Reimplemented from EvtAbsLineShape.

Definition at line 77 of file EvtManyDeltaFuncLineShape.cc.

77 {
78
79 return new EvtManyDeltaFuncLineShape(*this);
80}

◆ getMassProb()

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

Reimplemented from EvtAbsLineShape.

Definition at line 83 of file EvtManyDeltaFuncLineShape.cc.

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

◆ getRandMass()

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

Reimplemented from EvtAbsLineShape.

Definition at line 101 of file EvtManyDeltaFuncLineShape.cc.

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

◆ operator=()

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

Definition at line 66 of file EvtManyDeltaFuncLineShape.cc.

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

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