10 #ifndef Pythia8_BoseEinstein_H
11 #define Pythia8_BoseEinstein_H
13 #include "Pythia8/Basics.h"
14 #include "Pythia8/Event.h"
15 #include "Pythia8/ParticleData.h"
16 #include "Pythia8/PhysicsBase.h"
17 #include "Pythia8/PythiaStdlib.h"
18 #include "Pythia8/Settings.h"
26 class BoseEinsteinHadron {
31 BoseEinsteinHadron() : id(0), iPos(0), p(0.), pShift(0.), pComp(0.),
33 BoseEinsteinHadron(
int idIn,
int iPosIn, Vec4 pIn,
double mIn) :
34 id(idIn), iPos(iPosIn), p(pIn), pShift(0.), pComp(0.) {m2 = mIn*mIn;}
38 Vec4 p, pShift, pComp;
48 class BoseEinstein :
public PhysicsBase {
53 BoseEinstein() : doPion(), doKaon(), doEta(), lambda(), QRef(),
54 nStep(), nStep3(), nStored(), QRef2(), QRef3(), R2Ref(), R2Ref2(),
55 R2Ref3(), mHadron(), mPair(), m2Pair(), deltaQ(), deltaQ3(), maxQ(),
56 maxQ3(), shift(), shift3() {}
62 bool shiftEvent(
Event& event);
67 static const int IDHADRON[9], ITABLE[9], NCOMPSTEP;
68 static const double STEPSIZE, Q2MIN, COMPRELERR, COMPFACMAX;
71 bool doPion, doKaon, doEta;
75 int nStep[4], nStep3[4], nStored[10];
76 double QRef2, QRef3, R2Ref, R2Ref2, R2Ref3, mHadron[9],
77 mPair[4], m2Pair[4], deltaQ[4], deltaQ3[4], maxQ[4], maxQ3[4];
78 double shift[4][200], shift3[4][200];
81 vector<BoseEinsteinHadron> hadronBE;
84 void shiftPair(
int i1,
int i2,
int iHad);
92 #endif // Pythia8_BoseEinstein_H