]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | #ifndef __EVTMRES_HH__ |
2 | #define __EVTMRES_HH__ | |
3 | ||
4 | #include "EvtGenBase/EvtMNode.hh" | |
5 | ||
6 | class EvtMRes; | |
7 | ||
8 | class EvtMLineShape { | |
9 | ||
10 | public: | |
11 | ||
12 | virtual ~EvtMLineShape() {}; | |
13 | ||
14 | void setres( EvtMRes * n ) { _node = n; } | |
15 | virtual EvtComplex shape( const vector<EvtVector4R>& product ) const=0; | |
16 | ||
17 | virtual EvtMLineShape * duplicate() const=0; | |
18 | ||
19 | protected: | |
20 | ||
21 | EvtMRes * _node; | |
22 | }; | |
23 | ||
24 | class EvtMRes : public EvtMNode { | |
25 | ||
26 | public: | |
27 | ||
28 | virtual ~EvtMRes(); | |
29 | ||
30 | int getnchild() const { return _children.size(); } | |
31 | ||
32 | virtual EvtComplex line( const vector<EvtVector4R>& product ) const | |
33 | { return _lineshape->shape( product ); } | |
34 | ||
35 | protected: | |
36 | ||
37 | // store the child nodes | |
38 | vector<EvtMNode *> _children; | |
39 | ||
40 | // store the parametrization amplitudes in some kind | |
41 | EvtSpinAmp _amp; | |
42 | ||
43 | // store the lineshape of the resonance | |
44 | EvtMLineShape * _lineshape; | |
45 | ||
46 | }; | |
47 | ||
48 | #endif |