evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtResonance.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVTRESONANCE_HH
22 #define EVTRESONANCE_HH
23 
25 
26 class EvtComplex;
27 
28 class EvtResonance final {
29  public:
31 
32  //constructor with all information about the resonance
34  const EvtVector4R& p4_d2, double ampl = 0.0, double theta = 0.0,
35  double gamma = 0.0, double bwm = 0.0, int spin = 0 );
36 
37  //accessors
38  //return 4-momenta of the particles involved
39  inline const EvtVector4R& p4_p() { return _p4_p; }
40  inline const EvtVector4R& p4_d1() { return _p4_d1; }
41  inline const EvtVector4R& p4_d2() { return _p4_d2; }
42 
43  //return amplitude
44  inline double amplitude() { return _ampl; }
45 
46  //return theta
47  inline double theta() { return _theta; }
48 
49  //return gamma
50  inline double gamma() { return _gamma; }
51 
52  //return bwm
53  inline double bwm() { return _bwm; }
54 
55  //return spin
56  inline int spin() { return _spin; }
57 
58  //calculate amplitude for this resonance
60 
61  //calculate relativistic Breit-Wigner amplitude for P-decays of scalars
62  EvtComplex relBrWig( int i );
63 
64  private:
66  double _ampl, _theta, _gamma, _bwm;
67  int _spin;
68 };
69 
70 #endif
EvtResonance(const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl=0.0, double theta=0.0, double gamma=0.0, double bwm=0.0, int spin=0)
EvtResonance & operator=(const EvtResonance &)
EvtComplex resAmpl()
EvtVector4R _p4_d2
Definition: EvtResonance.hh:65
EvtComplex relBrWig(int i)
double gamma()
Definition: EvtResonance.hh:50
EvtVector4R _p4_p
Definition: EvtResonance.hh:65
const EvtVector4R & p4_p()
Definition: EvtResonance.hh:39
const EvtVector4R & p4_d1()
Definition: EvtResonance.hh:40
const EvtVector4R & p4_d2()
Definition: EvtResonance.hh:41
double amplitude()
Definition: EvtResonance.hh:44
double bwm()
Definition: EvtResonance.hh:53
EvtVector4R _p4_d1
Definition: EvtResonance.hh:65
double theta()
Definition: EvtResonance.hh:47