10 #ifndef Pythia8_JunctionSplitting_H
11 #define Pythia8_JunctionSplitting_H
13 #include "Pythia8/Basics.h"
14 #include "Pythia8/ColourTracing.h"
15 #include "Pythia8/Event.h"
16 #include "Pythia8/FragmentationFlavZpT.h"
17 #include "Pythia8/Info.h"
18 #include "Pythia8/ParticleData.h"
19 #include "Pythia8/PhysicsBase.h"
20 #include "Pythia8/Settings.h"
21 #include "Pythia8/StringLength.h"
30 class JunctionSplitting :
public PhysicsBase {
35 JunctionSplitting() : eNormJunction(), allowDoubleJunRem() {}
42 bool checkColours(
Event& event);
46 virtual void onInitInfoPtr()
override {
47 registerSubObject(flavSel);
48 registerSubObject(pTSel);
49 registerSubObject(zSel);
50 registerSubObject(stringFrag);
56 static const int NTRYJNREST;
57 static const double JJSTRINGM2MAX, JJSTRINGM2FRAC, CONVJNREST, MTHAD,
61 bool allowDoubleJunRem;
69 StringFragmentation stringFrag;
72 ColourTracing colTrace;
75 StringLength stringLength;
79 bool splitJunGluons(
Event& event, vector<vector< int > >& iPartonJun,
80 vector<vector< int > >& iPartonAntiJun);
83 bool splitJunChains(
Event& event);
86 bool splitJunPairs(
Event& event, vector<vector< int > >& iPartonJun,
87 vector<vector< int > >& iPartonAntiJun);
90 bool getPartonLists(
Event& event, vector<vector< int > >& iPartonJun,
91 vector<vector<int > >& iPartonAntiJun);
94 bool setAcol(
Event& event,
int col,
int acol);
102 #endif // Pythia8_JunctionSplitting_H