Line data Source code
1 : /*******************************************************************************
2 : * Project: BaBar detector at the SLAC PEP-II B-factory
3 : * Package: EvtGenBase
4 : * File: $Id: EvtPropagator.hh,v 1.2 2009-03-16 16:42:03 robbep Exp $
5 : * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6 : *
7 : * Copyright (C) 2002 Caltech
8 : *******************************************************************************/
9 :
10 : // Defines propagator as a function of mass and width
11 :
12 : #ifndef EVT_PROPAGATOR_HH
13 : #define EVT_PROPAGATOR_HH
14 :
15 : #include <assert.h>
16 : #include "EvtGenBase/EvtComplex.hh"
17 : #include "EvtGenBase/EvtAmplitude.hh"
18 : #include "EvtGenBase/EvtPoint1D.hh"
19 :
20 : class EvtPropagator : public EvtAmplitude<EvtPoint1D> {
21 : public:
22 :
23 0 : EvtPropagator(double m0, double g0)
24 0 : : _m0(m0), _g0(g0)
25 0 : {
26 0 : assert(m0 > 0);
27 0 : assert(g0 >= 0);
28 0 : }
29 : EvtPropagator(const EvtPropagator& other)
30 0 : : EvtAmplitude<EvtPoint1D>(other), _m0(other._m0), _g0(other._g0)
31 0 : {}
32 : virtual ~EvtPropagator()
33 0 : {}
34 :
35 : // Accessors
36 :
37 0 : inline double m0() const { return _m0; }
38 0 : inline double g0() const { return _g0; }
39 :
40 : // Modifiers (can be useful e.g. for fitting!)
41 :
42 : inline void set_m0(double m0) { assert(m0>0); _m0 = m0; }
43 0 : inline void set_g0(double g0) { assert(g0>=0); _g0 = g0; }
44 :
45 : protected:
46 :
47 : double _m0;
48 : double _g0;
49 :
50 : };
51 :
52 : #endif
53 :
|