StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtResonance.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/EvtResonance.hh
12 //
13 // Description:resonance-defining class
14 //
15 // Modification history:
16 //
17 // NK September 4, 1997 Module created
18 //
19 //------------------------------------------------------------------------
20 
21 #ifndef EVTRESONANCE_HH
22 #define EVTRESONANCE_HH
23 
24 #include "EvtGenBase/EvtVector4R.hh"
25 
26 class EvtComplex;
27 
28 
29 
30 class EvtResonance {
31 public:
32 
33  EvtResonance& operator = (const EvtResonance &);
34 
35  //constructor with all information about the resonance
36  EvtResonance(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
37  const EvtVector4R& p4_d2,
38  double ampl = 0.0, double theta = 0.0, double gamma = 0.0,
39  double bwm = 0.0, int spin = 0);
40 
41  //destructor
42  virtual ~EvtResonance();
43 
44  //accessors
45  //return 4-momenta of the particles involved
46  inline const EvtVector4R& p4_p() { return _p4_p; }
47  inline const EvtVector4R& p4_d1() { return _p4_d1; }
48  inline const EvtVector4R& p4_d2() { return _p4_d2; }
49 
50 
51  //return amplitude
52  inline double amplitude() { return _ampl; }
53 
54  //return theta
55  inline double theta() { return _theta; }
56 
57  //return gamma
58  inline double gamma() { return _gamma; }
59 
60  //return bwm
61  inline double bwm() { return _bwm; }
62 
63  //return spin
64  inline int spin() { return _spin; }
65 
66  //calculate amplitude for this resonance
67  EvtComplex resAmpl();
68 
69  //calculate relativistic Breit-Wigner amplitude for P-decays of scalars
70  EvtComplex relBrWig(int i);
71 
72 private:
73 
74  EvtVector4R _p4_p, _p4_d1, _p4_d2;
75  double _ampl, _theta, _gamma, _bwm;
76  int _spin;
77 
78 };
79 
80 #endif
81