10 #ifndef Pythia8_StringFragmentation_H
11 #define Pythia8_StringFragmentation_H
16 #include "FragmentationFlavZpT.h"
17 #include "FragmentationSystems.h"
18 #include "ParticleData.h"
19 #include "PythiaStdlib.h"
40 particleDataPtr = particleDataPtrIn; flavSelPtr = flavSelPtrIn;
41 pTSelPtr = pTSelPtrIn; zSelPtr = zSelPtrIn;}
44 void setUp(
bool fromPosIn,
int iEndIn,
int idOldIn,
int iMaxIn,
45 double pxIn,
double pyIn,
double GammaIn,
double xPosIn,
double xNegIn);
58 static const double TINY, PT2SAME;
70 int iEnd, iMax, idHad, iPosOld, iNegOld, iPosNew, iNegNew;
71 double pxOld, pyOld, pxNew, pyNew, pxHad, pyHad, mHad, mT2Had, zHad,
72 GammaOld, GammaNew, xPosOld, xPosNew, xPosHad, xNegOld, xNegNew,
105 static const int NTRYFLAV, NTRYJOIN, NSTOPMASS, NTRYJNREST,
106 NTRYJNMATCH, NTRYJRFEQ;
107 static const double FACSTOPMASS, CLOSEDM2MAX, CLOSEDM2FRAC, EXPMAX,
108 MATCHPOSNEG, EJNWEIGHTMAX, CONVJNREST, M2MAXJRF,
126 double stopMass, stopNewFlav, stopSmear, eNormJunction,
127 eBothLeftJunction, eMaxLeftJunction, eMinLeftJunction, bLund;
130 bool hasJunction, isClosed;
132 double w2Rem, stopMassNow;
133 Vec4 pSum, pRem, pJunctionHadrons;
148 vector<int> findFirstRegion(vector<int>& iPartonIn,
Event& event);
151 void setStartEnds(
int idPos,
int idNeg,
StringSystem systemNow);
154 bool energyUsedUp(
bool fromPos);
157 bool finalTwo(
bool fromPos);
163 void store(
Event& event);
166 bool fragmentToJunction(
Event& event);
174 #endif // Pythia8_StringFragmentation_H