]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenBase/EvtResonance.hh
AliDecayer realisation for the EvtGen code and EvtGen itself.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenBase / 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