13 #ifndef Pythia8_StringInteractions_H
14 #define Pythia8_StringInteractions_H
16 #include "Pythia8/SharedPointers.h"
17 #include "Pythia8/PhysicsBase.h"
18 #include "Pythia8/FragmentationSystems.h"
45 ColRecPtr getColourReconnections()
const {
return colrecPtr; }
46 DipSwingPtr getDipoleSwing()
const {
return dipswingPtr; }
47 StringRepPtr getStringRepulsion()
const {
return stringrepPtr; }
48 FragModPtr getFragmentationModifier()
const {
return fragmodPtr; }
54 ColRecPtr colrecPtr{};
58 DipSwingPtr dipswingPtr{};
63 StringRepPtr stringrepPtr{};
68 FragModPtr fragmodPtr{};
89 virtual bool init() {
return true; }
94 beamBPtr = beamBPtrIn;}
97 virtual bool next(
Event & event,
int oldSize) = 0;
117 virtual bool init() {
return true; }
120 virtual void reassignBeamPtrs(
BeamParticle* beamAPtrIn,
121 BeamParticle* beamBPtrIn,
int beamOffsetIn = 0) {beamAPtr = beamAPtrIn;
122 beamBPtr = beamBPtrIn; beamOffset = beamOffsetIn;}
126 virtual void prepare(
int ,
Event& ,
bool =
true) = 0;
130 virtual void rescatterUpdate(
int ,
Event& ) = 0;
134 virtual void update(
int ,
Event& ,
bool =
false) = 0;
138 virtual double pTnext(
Event& ,
double ,
double ,
139 bool =
false,
bool =
false) = 0;
142 virtual bool swing(
Event& event) = 0;
167 virtual bool init() {
return true; }
170 virtual bool stringRepulsion(
Event & event,
ColConfig & colConfig) = 0;
174 virtual bool hadronRepulsion(
Event &) {
return true; }
193 virtual bool init() {
return true; }
201 StringPT * pTPtr,
double m2Had, vector<int> iParton,
int endId) = 0;
207 #endif // Pythia8_StringInteractions_H