StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SLHAinterface.h
1 // SLHAinterface.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2014 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 
29 
30 public:
31 
32  // Constructor.
33  SLHAinterface() {} ;
34 
35  // Set pointers
36  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 
42  // Initialize SUSY Les Houches Accord data.
43  bool initSLHA(Settings& settings, ParticleData* particleDataPtr);
44 
45  // Initialize SLHA blocks SMINPUTS and MASS from PYTHIA SM parameter values.
46  // E.g., to make sure that there are no important unfilled entries
47  void pythia2slha(ParticleData* particleDataPtr);
48 
49  // SusyLesHouches - SLHA object for interface to SUSY spectra.
50  SusyLesHouches slha;
51 
52  // SLHA derived couplings class and pointer to Couplings object
53  CoupSUSY coupSUSY;
54  Couplings* couplingsPtr;
55 
56  // Pointers to PYTHIA objects
57  Info* infoPtr;
58  Settings* settingsPtr;
59 
60  // Internal data members
61  int meMode;
62 
63 };
64 
65 //==========================================================================
66 
67 } // end namespace Pythia8
68 
69 #endif // Pythia8_SLHAinterface_H
70 
71 
72 
73