StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtPropagator.hh
1 /*******************************************************************************
2  * Project: BaBar detector at the SLAC PEP-II B-factory
3  * Package: EvtGenBase
4  * File: $Id: EvtPropagator.hh,v 1.1 2016/09/23 18:37:32 jwebb 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  EvtPropagator(double m0, double g0)
24  : _m0(m0), _g0(g0)
25  {
26  assert(m0 > 0);
27  assert(g0 >= 0);
28  }
29  EvtPropagator(const EvtPropagator& other)
30  : EvtAmplitude<EvtPoint1D>(other), _m0(other._m0), _g0(other._g0)
31  {}
32  virtual ~EvtPropagator()
33  {}
34 
35  // Accessors
36 
37  inline double m0() const { return _m0; }
38  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  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