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