]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtDecayAmp.hh
L1phase shift corrected
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / EvtDecayAmp.hh
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
4 //      This software is part of the EvtGen package developed jointly
5 //      for the BaBar and CLEO collaborations.  If you use all or part
6 //      of it, please give an appropriate acknowledgement.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 //      Copyright (C) 1998      Caltech, UCSB
10 //
11 // Module: EvtGen/EvtDecayAmp.hh
12 //
13 // Description: Baseclass for models that calculates amplitudes
14 //
15 // Modification history:
16 //
17 //    DJL/RYD     August 11, 1998         Module created
18 //
19 //------------------------------------------------------------------------
20
21 #ifndef EVTDECAYAMP_HH
22 #define EVTDECAYAMP_HH
23
24 #include "EvtGenBase/EvtDecayBase.hh"
25 #include "EvtGenBase/EvtAmp.hh"
26
27 class EvtDecayAmp : public EvtDecayBase{
28
29 public:
30
31   void makeDecay(EvtParticle* p, bool recursive=true);
32   inline void setWeight(double weight) {_weight=weight;}
33
34   /**
35   * sets the amplitudes calculated in the decay objects
36   */
37   void vertex(const EvtComplex& amp){_amp2.vertex(amp);}
38
39   /**
40   * sets the amplitudes calculated in the decay objects
41   */
42   void vertex(int i1, const EvtComplex& amp){_amp2.vertex(i1,amp);}
43
44   /**
45   * sets the amplitudes calculated in the decay objects
46   */
47   void vertex(int i1, int i2, const EvtComplex& amp)
48   {_amp2.vertex(i1,i2,amp);}
49
50
51   /**
52   * sets the amplitudes calculated in the decay objects
53   */
54   void vertex(int i1, int i2, int i3, const EvtComplex& amp)
55   {_amp2.vertex(i1,i2,i3,amp);}
56
57   /**
58   * sets the amplitudes calculated in the decay objects
59   */
60   void vertex(int *i1, const EvtComplex& amp)
61   { _amp2.vertex(i1,amp);}
62
63   /**
64    *  Provide access to the amplitude
65    */
66   const EvtAmp & amplitude() const 
67   { return _amp2;}
68
69
70
71
72   virtual ~EvtDecayAmp() {}
73
74 protected:
75   EvtAmp _amp2;
76
77 private:
78   double _weight;
79
80
81 };
82
83
84
85 #endif