]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtPropagator.hh
New plots for trending injector efficiencies (Melinda)
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtPropagator.hh
1 /*******************************************************************************
2  * Project: BaBar detector at the SLAC PEP-II B-factory
3  * Package: EvtGenBase
4  *    File: $Id: EvtPropagator.hh,v 1.4 2009/02/18 03:31:38 ryd 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