9 #ifndef Pythia8_BeamRemnants_H
10 #define Pythia8_BeamRemnants_H
12 #include "Pythia8/Basics.h"
13 #include "Pythia8/BeamParticle.h"
14 #include "Pythia8/Event.h"
15 #include "Pythia8/FragmentationFlavZpT.h"
16 #include "Pythia8/Info.h"
17 #include "Pythia8/ParticleData.h"
18 #include "Pythia8/PartonDistributions.h"
19 #include "Pythia8/PartonSystems.h"
20 #include "Pythia8/PythiaStdlib.h"
21 #include "Pythia8/Settings.h"
35 BeamRemnants() : iDS(0) { }
38 bool init( Info* infoPtrIn, Settings& settings, Rndm* rndmPtrIn,
39 BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
40 PartonSystems* partonSystemsPtrIn);
43 void reassignBeamPtrs( BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
44 int iDSin) {beamAPtr = beamAPtrIn; beamBPtr = beamBPtrIn; iDS = iDSin;}
47 bool add(
Event& event);
52 static const bool ALLOWCOLOURTWICE, CORRECTMISMATCH;
53 static const int NTRYCOLMATCH, NTRYKINMATCH;
56 bool doPrimordialKT, allowRescatter, doRescatterRestoreY, doReconnect;
57 double primordialKTsoft, primordialKThard, primordialKTremnant,
58 halfScaleForKT, halfMassForKT, reconnectRange,
59 pT0Ref, ecmRef, ecmPow;
62 int nSys, oldSize, iDS;
63 double eCM, sCM, pT0, pT20Rec;
66 vector<int> colFrom, colTo;
75 BeamParticle* beamAPtr;
76 BeamParticle* beamBPtr;
79 PartonSystems* partonSystemsPtr;
82 bool setKinematics(
Event& event);
85 bool reconnectColours(
Event& event);
88 bool checkColours(
Event& event);
96 #endif // Pythia8_BeamRemnants_H