evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtPropagator.hh
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 
21 #ifndef EVT_PROPAGATOR_HH
22 #define EVT_PROPAGATOR_HH
23 
25 #include "EvtGenBase/EvtComplex.hh"
26 #include "EvtGenBase/EvtPoint1D.hh"
27 
28 #include <assert.h>
29 
30 // Defines propagator as a function of mass and width
31 
32 class EvtPropagator : public EvtAmplitude<EvtPoint1D> {
33  public:
34  EvtPropagator( double m0, double g0 ) : _m0( m0 ), _g0( g0 )
35  {
36  assert( m0 > 0 );
37  assert( g0 >= 0 );
38  }
39 
40  // Accessors
41 
42  inline double m0() const { return _m0; }
43  inline double g0() const { return _g0; }
44 
45  // Modifiers (can be useful e.g. for fitting!)
46 
47  inline void set_m0( double m0 )
48  {
49  assert( m0 > 0 );
50  _m0 = m0;
51  }
52  inline void set_g0( double g0 )
53  {
54  assert( g0 >= 0 );
55  _g0 = g0;
56  }
57 
58  protected:
59  double _m0;
60  double _g0;
61 };
62 
63 #endif
void set_m0(double m0)
void set_g0(double g0)
double g0() const
EvtPropagator(double m0, double g0)
double m0() const