8 #ifndef Pythia8_LowEnergySigma_H
9 #define Pythia8_LowEnergySigma_H
11 #include "Pythia8/HadronWidths.h"
12 #include "Pythia8/NucleonExcitations.h"
13 #include "Pythia8/PhysicsBase.h"
29 double sigmaTotal(
int idA,
int idB,
double eCM,
double mA,
double mB);
30 double sigmaTotal(
int idAIn,
int idBIn,
double eCMIn) {
31 double mA0 = particleDataPtr->m0(idAIn), mB0 = particleDataPtr->m0(idBIn);
32 return sigmaTotal(idAIn, idBIn, eCMIn, mA0, mB0); }
39 double sigmaPartial(
int idA,
int idB,
double eCM,
40 double mA,
double mB,
int proc);
41 double sigmaPartial(
int idAIn,
int idBIn,
double eCMIn,
int proc) {
42 double mA0 = particleDataPtr->m0(idAIn), mB0 = particleDataPtr->m0(idBIn);
43 return sigmaPartial(idAIn, idBIn, eCMIn, mA0, mB0, proc); }
48 bool sigmaPartial(
int idA,
int idB,
double eCM,
double mA,
double mB,
49 vector<int>& procsOut, vector<double>& sigmasOut);
50 double sigmaPartial(
int idAIn,
int idBIn,
double eCMIn,
51 vector<int>& procsOut, vector<double>& sigmasOut) {
52 double mA0 = particleDataPtr->m0(idAIn), mB0 = particleDataPtr->m0(idBIn);
53 return sigmaPartial(idAIn, idBIn, eCMIn, mA0, mB0, procsOut, sigmasOut); }
56 int pickProcess(
int idA,
int idB,
double eCM,
double mA,
double mB);
59 int pickResonance(
int idA,
int idB,
double eCM);
63 bool hasExcitation(
int idAIn,
int idBIn)
const {
return (abs(idAIn) == 2212
64 || abs(idAIn) == 2112) && (abs(idBIn) == 2212 || abs(idBIn) == 2112); }
71 double mp, sp, s4p, mpi, mK,
72 sEffAQM, cEffAQM, bEffAQM, fracEtass, fracEtaPss;
78 bool useSummedResonances;
84 bool didFlipSign, didSwapIds;
87 double sigTot, sigND, sigEl, sigXB, sigAX, sigXX, sigAnn, sigEx, sigResTot;
88 vector<pair<int, double>> sigRes;
91 void setConfig(
int idAIn,
int idBIn,
double eCMIn,
double mAIn,
double mBIn);
96 double calcRes(
int idR)
const;
102 double HPR1R2(
double p,
double r1,
double r2,
double mA,
double mB,
double s)
106 double HERAFit(
double a,
double b,
double n,
double c,
double d,
double p)
110 double nqEffAQM(
int id)
const;
111 double factorAQM()
const;
112 double totalAQM()
const;
113 double elasticAQM()
const;
119 bool hasExplicitResonances()
const;
120 double meltpoint(
int idX,
int idM)
const;