StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtMRes.hh
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