Line data Source code
1 : // SusyResonanceWidths.h is a part of the PYTHIA event generator.
2 : // Copyright (C) 2015 Torbjorn Sjostrand
3 : // Main author of this file: N. Desai
4 : // PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
5 : // Please respect the MCnet Guidelines, see GUIDELINES for details.
6 :
7 : // Header file for resonance properties: dynamical widths etc.
8 : // WidthFunctions: base class for SUSY 3-body decay width functions.
9 :
10 : #ifndef Pythia8_SusyWidthFunctions_H
11 : #define Pythia8_SusyWidthFunctions_H
12 :
13 : #include "Pythia8/ParticleData.h"
14 : #include "Pythia8/SusyCouplings.h"
15 :
16 : namespace Pythia8 {
17 :
18 : //==========================================================================
19 :
20 : class WidthFunction {
21 :
22 : public:
23 :
24 : // Constructor and destructor.
25 0 : WidthFunction() { };
26 0 : virtual ~WidthFunction() { };
27 :
28 : // Public methods.
29 : void setPointers( ParticleData* particleDataPtrIn, CoupSUSY* coupSUSYPtrIn,
30 : Info* infoPtrIn);
31 0 : virtual double getWidth( int, int) { return 0.0; };
32 :
33 : protected:
34 :
35 : virtual double function(double xin);
36 :
37 : // Gaussian integrator.
38 : double integrateGauss(double xmin, double xmax, double tol);
39 :
40 : ParticleData* particleDataPtr;
41 : CoupSUSY* coupSUSYPtr;
42 : Info* infoPtr;
43 : int idRes, idInt, id1, id2, id3, id4;
44 : double mRes, mInt, gammaInt, m1, m2 , m3, m4;
45 :
46 : };
47 :
48 : //==========================================================================
49 :
50 : // Class StauWidths.
51 :
52 0 : class StauWidths : public WidthFunction {
53 :
54 : public:
55 :
56 : // Destructor.
57 0 : ~StauWidths() { };
58 :
59 : // Public method.
60 : double getWidth(int idResIn, int idIn);
61 :
62 : protected:
63 :
64 : int fnSwitch; // Switch between multiple functions
65 : void setChannel(int idResIn, int idIn);
66 : double function(double xin);
67 :
68 : double delm, f0, gf, cons, wparam;
69 : complex gL, gR;
70 :
71 : };
72 :
73 : //==========================================================================
74 :
75 : } // end namespace Pythia8
76 :
77 : #endif // end Pythia8_SusyResonanceWidths_H
|