8 #ifndef Pythia8_NucleonExcitations_H 9 #define Pythia8_NucleonExcitations_H 11 #include "Pythia8/HadronWidths.h" 12 #include "Pythia8/MathTools.h" 13 #include "Pythia8/ParticleData.h" 14 #include "Pythia8/PhysicsBase.h" 37 bool init(
string path);
40 bool init(istream& stream);
59 int& idCOut,
double& mCOut,
int& idDOut,
double& mDOut);
70 double sigmaCalc(
double eCM,
int maskC,
int maskD)
const;
76 bool save(ostream& stream)
const;
77 bool save(
string file =
"NucleonExcitations.dat")
const {
78 ofstream stream(file);
return save(stream); }
83 struct ExcitationChannel {
94 vector<ExcitationChannel> excitationChannels;
double sigmaCalc(double eCM) const
Calculate the total excitation cross section without using interpolation.
Definition: NucleonExcitations.h:62
bool pickExcitation(int idA, int idB, double eCM, int &idCOut, double &mCOut, int &idDOut, double &mDOut)
Pick excited particles and their masses.
Definition: NucleonExcitations.cc:174
This class holds info on a single particle species.
Definition: ParticleData.h:125
Definition: NucleonExcitations.h:23
Definition: PhysicsBase.h:27
bool init(string path)
Read in excitation data from the specified file.
Definition: NucleonExcitations.cc:63
bool save(ostream &stream) const
Write all cross section data to an xml file.
Definition: NucleonExcitations.cc:556
bool check()
Validate that the loaded data makes sense.
Definition: NucleonExcitations.cc:155
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
double sigmaExTotal(double eCM) const
Get total excitation cross sections for NN at the specified energy.
Definition: NucleonExcitations.cc:234
Definition: MathTools.h:65
bool parameterizeAll(int precision, double threshold=8.)
Regenerate parameterization for all cross sections.
Definition: NucleonExcitations.cc:370
vector< pair< int, int > > getChannels() const
Get masks (ids without quark content) for all implemented cross sections.
Definition: NucleonExcitations.cc:289
NucleonExcitations()=default
Constructor.
double sigmaExPartial(double eCM, int maskC, int maskD) const
Get cross section for NN -> CD. Quark content in masks is ignored.
Definition: NucleonExcitations.cc:256
vector< int > getExcitationMasks() const
Get all nucleon excitations from particle data.
Definition: NucleonExcitations.cc:300