1 //--------------------------------------------------------------------------
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.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtDecayAmp.hh
13 // Description: Baseclass for models that calculates amplitudes
15 // Modification history:
17 // DJL/RYD August 11, 1998 Module created
19 //------------------------------------------------------------------------
21 #ifndef EVTDECAYAMP_HH
22 #define EVTDECAYAMP_HH
24 #include "EvtGenBase/EvtDecayBase.hh"
25 #include "EvtGenBase/EvtAmp.hh"
27 class EvtDecayAmp : public EvtDecayBase{
31 void makeDecay(EvtParticle* p, bool recursive=true);
32 inline void setWeight(double weight) {_weight=weight;}
35 * sets the amplitudes calculated in the decay objects
37 void vertex(const EvtComplex& amp){_amp2.vertex(amp);}
40 * sets the amplitudes calculated in the decay objects
42 void vertex(int i1, const EvtComplex& amp){_amp2.vertex(i1,amp);}
45 * sets the amplitudes calculated in the decay objects
47 void vertex(int i1, int i2, const EvtComplex& amp)
48 {_amp2.vertex(i1,i2,amp);}
52 * sets the amplitudes calculated in the decay objects
54 void vertex(int i1, int i2, int i3, const EvtComplex& amp)
55 {_amp2.vertex(i1,i2,i3,amp);}
58 * sets the amplitudes calculated in the decay objects
60 void vertex(int *i1, const EvtComplex& amp)
61 { _amp2.vertex(i1,amp);}
64 * Provide access to the amplitude
66 const EvtAmp & amplitude() const
72 virtual ~EvtDecayAmp() {}