PYTHIA  8.312
SLHAinterface.h
1 // SLHAinterface.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2024 Torbjorn Sjostrand.
3 // Main authors of this file: N. Desai, P. Skands
4 // PYTHIA is licenced under the GNU GPL v2 or later, 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 
20 namespace Pythia8 {
21 
22 //==========================================================================
23 
24 // The SLHAinterface class handles communication between Pythia and
25 // SusyLesHouches.
26 
28 
29 public:
30 
31  // Constructor.
32  SLHAinterface() : infoPtr(), settingsPtr(), particleDataPtr(),
33  rndmPtr(), coupSMPtr(), coupSUSYPtr(), meMode() {}
34 
35  // Set pointers
36  void setPtr( Info* infoPtrIn ) {infoPtr = infoPtrIn;
37  settingsPtr = infoPtr->settingsPtr;
38  particleDataPtr = infoPtr->particleDataPtr;
39  rndmPtr = infoPtr->rndmPtr;
40  loggerPtr = infoPtr->loggerPtr;
42  coupSUSYPtr = infoPtr->coupSUSYPtr;
43 }
44 
45  // Initialize and switch to SUSY couplings if reading SLHA spectrum
46  void init( bool& useSHLAcouplings, stringstream& ParticleDataBuffer );
47 
48  // Initialize SUSY Les Houches Accord data.
49  bool initSLHA();
50 
51  // Initialize SLHA blocks SMINPUTS and MASS from PYTHIA SM parameter values.
52  // E.g., to make sure that there are no important unfilled entries
53  void pythia2slha();
54 
55  // SusyLesHouches - SLHA object for interface to SUSY spectra.
57 
58  // Pointers to PYTHIA objects
60  Settings* settingsPtr;
61  ParticleData* particleDataPtr;
62  Rndm* rndmPtr;
63  Logger* loggerPtr;
64 
65  // SM couplings and SLHA derived couplings class.
67  CoupSUSY* coupSUSYPtr;
68 
69  // Internal data members
70  int meMode;
71 
72 };
73 
74 //==========================================================================
75 
76 } // end namespace Pythia8
77 
78 #endif // Pythia8_SLHAinterface_H
SusyLesHouches slha
SusyLesHouches - SLHA object for interface to SUSY spectra.
Definition: SLHAinterface.h:56
Rndm * rndmPtr
Pointer to the random number generator.
Definition: Info.h:89
Definition: Info.h:45
Logger * loggerPtr
Pointer to the logger.
Definition: Info.h:86
void pythia2slha()
Definition: SLHAinterface.cc:760
CoupSM * coupSMPtr
Pointers to Standard Model and Beyond SM couplings.
Definition: Info.h:95
Definition: SLHAinterface.h:27
int meMode
Internal data members.
Definition: SLHAinterface.h:70
Definition: Logger.h:23
Definition: Basics.h:386
Info * infoPtr
Pointers to PYTHIA objects.
Definition: SLHAinterface.h:59
void init(bool &useSHLAcouplings, stringstream &ParticleDataBuffer)
Initialize and switch to SUSY couplings if reading SLHA spectrum.
Definition: SLHAinterface.cc:19
Definition: SusyLesHouches.h:393
void setPtr(Info *infoPtrIn)
Set pointers.
Definition: SLHAinterface.h:36
Definition: StandardModel.h:135
ParticleData * particleDataPtr
Pointer to the particle data table.
Definition: Info.h:83
SLHAinterface()
Constructor.
Definition: SLHAinterface.h:32
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
This class holds a map of all ParticleDataEntries.
Definition: ParticleData.h:422
Settings * settingsPtr
Pointer to the settings database.
Definition: Info.h:80
bool initSLHA()
Initialize SUSY Les Houches Accord data.
Definition: SLHAinterface.cc:56
CoupSM * coupSMPtr
SM couplings and SLHA derived couplings class.
Definition: SLHAinterface.h:66
Definition: SusyCouplings.h:27
Definition: Settings.h:195