Line data Source code
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 0 : class EvtDecayAmp : public EvtDecayBase{
28 :
29 : public:
30 :
31 : void makeDecay(EvtParticle* p, bool recursive=true);
32 0 : inline void setWeight(double weight) {_weight=weight;}
33 :
34 : /**
35 : * sets the amplitudes calculated in the decay objects
36 : */
37 0 : void vertex(const EvtComplex& amp){_amp2.vertex(amp);}
38 :
39 : /**
40 : * sets the amplitudes calculated in the decay objects
41 : */
42 0 : 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 0 : {_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 0 : {_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 0 : { _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 0 : virtual ~EvtDecayAmp() {}
73 :
74 : protected:
75 : EvtAmp _amp2;
76 :
77 : private:
78 : double _weight;
79 :
80 :
81 : };
82 :
83 :
84 :
85 : #endif
|