Line data Source code
1 : // SLHAinterface.h is a part of the PYTHIA event generator.
2 : // Copyright (C) 2015 Torbjorn Sjostrand.
3 : // Main authors of this file: N. Desai, P. Skands
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 SUSY Les Houches Accord Interface.
8 : // Handles the communication between PYTHIA and the SusyLesHouches classes.
9 :
10 : #ifndef Pythia8_SLHAinterface_H
11 : #define Pythia8_SLHAinterface_H
12 :
13 : #include "Pythia8/Basics.h"
14 : #include "Pythia8/ParticleData.h"
15 : #include "Pythia8/PythiaStdlib.h"
16 : #include "Pythia8/Settings.h"
17 : #include "Pythia8/StandardModel.h"
18 : #include "Pythia8/SusyCouplings.h"
19 : #include "Pythia8/SusyLesHouches.h"
20 :
21 : namespace Pythia8 {
22 :
23 : //==========================================================================
24 :
25 : // The SLHAinterface class handles communication between Pythia and
26 : // SusyLesHouches.
27 :
28 0 : class SLHAinterface {
29 :
30 : public:
31 :
32 : // Constructor.
33 0 : SLHAinterface() {} ;
34 :
35 : // Set pointers
36 0 : void setPtr( Info* infoPtrIn ) {infoPtr = infoPtrIn;}
37 :
38 : // Initialize and switch to SUSY couplings if reading SLHA spectrum
39 : void init( Settings& settings, Rndm* rndmPtr, Couplings* couplingsPtrIn,
40 : ParticleData* particleDataPtr, bool& useSHLAcouplings,
41 : stringstream& ParticleDataBuffer );
42 :
43 : // Initialize SUSY Les Houches Accord data.
44 : bool initSLHA(Settings& settings, ParticleData* particleDataPtr);
45 :
46 : // Initialize SLHA blocks SMINPUTS and MASS from PYTHIA SM parameter values.
47 : // E.g., to make sure that there are no important unfilled entries
48 : void pythia2slha(ParticleData* particleDataPtr);
49 :
50 : // SusyLesHouches - SLHA object for interface to SUSY spectra.
51 : SusyLesHouches slha;
52 :
53 : // SLHA derived couplings class and pointer to Couplings object
54 : CoupSUSY coupSUSY;
55 : Couplings* couplingsPtr;
56 :
57 : // Pointers to PYTHIA objects
58 : Info* infoPtr;
59 : Settings* settingsPtr;
60 :
61 : // Internal data members
62 : int meMode;
63 :
64 : };
65 :
66 : //==========================================================================
67 :
68 : } // end namespace Pythia8
69 :
70 : #endif // Pythia8_SLHAinterface_H
|