9 #ifndef Pythia8_HadronLevel_H
10 #define Pythia8_HadronLevel_H
13 #include "BoseEinstein.h"
15 #include "FragmentationFlavZpT.h"
16 #include "FragmentationSystems.h"
17 #include "HadronScatter.h"
18 #include "HiddenValleyFragmentation.h"
20 #include "MiniStringFragmentation.h"
21 #include "ParticleData.h"
22 #include "ParticleDecays.h"
23 #include "PythiaStdlib.h"
26 #include "StringFragmentation.h"
27 #include "TimeShower.h"
48 vector<int> handledParticles);
51 StringFlav* getStringFlavPtr() {
return &flavSel;}
54 bool next(
Event& event);
57 bool moreDecays(
Event& event);
62 static const int NTRYJNREST;
63 static const double JJSTRINGM2MAX, JJSTRINGM2FRAC, CONVJNREST, MTHAD;
66 bool doHadronize, doDecay, doBoseEinstein, allowRH;
67 double mStringMin, eNormJunction, widthSepBE;
70 bool doHadronScatter, hsAfterDecay;
88 vector<int> iColEnd, iAcolEnd, iColAndAcol, iParton, iPartonJun,
89 iPartonAntiJun, iJunLegA, iJunLegB, iJunLegC,
90 iAntiLegA, iAntiLegB, iAntiLegC, iGluLeg;
91 vector<double> m2Pair;
118 bool useHiddenValley;
121 bool decayOctetOnia(
Event& event);
124 bool findSinglets(
Event& event);
127 bool traceFromCol(
int indxCol,
Event& event,
int iJun = -1,
int iCol = -1);
128 bool traceFromAcol(
int indxCol,
Event& event,
int iJun = -1,
int iCol = -1);
129 bool traceInLoop(
int indxCol,
int indxAcol,
Event& event);
132 bool splitJunctionPair(
Event& event);
140 #endif // Pythia8_HadronLevel_H