EvtGen 2.2.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
Loading...
Searching...
No Matches
EvtFlatLineShape.cpp
Go to the documentation of this file.
1
2/***********************************************************************
3* Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4* *
5* This file is part of EvtGen. *
6* *
7* EvtGen is free software: you can redistribute it and/or modify *
8* it under the terms of the GNU General Public License as published by *
9* the Free Software Foundation, either version 3 of the License, or *
10* (at your option) any later version. *
11* *
12* EvtGen is distributed in the hope that it will be useful, *
13* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15* GNU General Public License for more details. *
16* *
17* You should have received a copy of the GNU General Public License *
18* along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19***********************************************************************/
20
22
24#include "EvtGenBase/EvtPDL.hh"
30
31EvtFlatLineShape::EvtFlatLineShape( double mass, double width, double maxRange,
33{
34 m_mass = mass;
35 m_width = width;
36 m_spin = sp;
37 m_maxRange = maxRange;
38
39 double maxdelta = width;
40
41 m_massMax = mass + maxdelta;
42 m_massMin = mass - maxdelta;
43
44 if ( m_massMin < 0. )
45 m_massMin = 0.;
46}
47
58
69
71{
72 return new EvtFlatLineShape( *this );
73}
74
75double EvtFlatLineShape::getMassProb( double mass, double massPar, int nDaug,
76 double* massDau )
77{
78 double dTotMass = 0.;
79
80 int i;
81 for ( i = 0; i < nDaug; i++ ) {
82 dTotMass += massDau[i];
83 }
84 if ( ( mass < dTotMass ) )
85 return 0.;
86
87 if ( massPar > 0.0000000001 ) {
88 if ( mass > massPar )
89 return 0.;
90 }
91
92 return 1.;
93}
94
96 double* )
97{
99}
EvtAbsLineShape()=default
EvtSpinType::spintype m_spin
EvtFlatLineShape & operator=(const EvtFlatLineShape &x)
double getMassProb(double mass, double massPar, int nDaug, double *massDau) override
EvtFlatLineShape()=default
EvtAbsLineShape * clone() override
double getRandMass(EvtId *parId, int nDaug, EvtId *dauId, EvtId *othDaugId, double maxMass, double *dauMasses) override
Definition EvtId.hh:27
static double Flat()
Definition EvtRandom.cpp:95