PYTHIA
8.312
|
#include <SigmaTotal.h>
Public Member Functions | |
SigmaTotal () | |
Constructor. | |
virtual | ~SigmaTotal () |
Destructor. | |
void | init () |
Store pointers and initialize data members. More... | |
bool | calc (int idA, int idB, double eCM) |
Calculate, or recalculate for new beams or new energy. More... | |
bool | hasSigmaTot () |
Confirm that initialization worked. | |
double | sigmaTot () |
Total and integrated elastic cross sections. | |
double | rho () |
double | sigmaEl () |
bool | bElIsExp () |
double | bSlopeEl () |
bool | hasCoulomb () |
bool | calcTotEl (int idAin, int idBin, double sIn, double mAin, double mBin) |
Total and elastic cross section. | |
double | dsigmaEl (double t, bool useCoulomb=false, bool onlyPomerons=false) |
Differential elastic cross section. | |
double | sigmaXB () const |
Integrated diffractive cross sections. | |
double | sigmaAX () const |
double | sigmaXX () const |
double | sigmaAXB () const |
double | sigmaND () const |
double | dsigmaSD (double xi, double t, bool isXB=true, int step=0) |
Differential single diffractive cross section. | |
virtual bool | splitDiff () |
Possibility to separate xi and t choices for diffraction. | |
double | dsigmaDD (double xi1, double xi2, double t, int step=0) |
Differential double diffractive cross section. | |
double | dsigmaCD (double xi1, double xi2, double t1, double t2, int step=0) |
Differential central diffractive cross section. | |
double | mMinCD () |
Minimal central diffractive mass. | |
void | chooseVMDstates (int idA, int idB, double eCM, int processCode) |
Sample the VMD states for resolved photons. More... | |
pair< double, double > | tRange (double sIn, double s1In, double s2In, double s3In, double s4In) |
bool | tInRange (double tIn, double sIn, double s1In, double s2In, double s3In, double s4In) |
Public Member Functions inherited from PhysicsBase | |
void | initInfoPtr (Info &infoPtrIn) |
This function is called from above for physics objects used in a run. More... | |
virtual | ~PhysicsBase () |
Empty virtual destructor. | |
bool | flag (string key) const |
Shorthand to read settings values. | |
int | mode (string key) const |
double | parm (string key) const |
string | word (string key) const |
vector< bool > | fvec (string key) const |
vector< int > | mvec (string key) const |
vector< double > | pvec (string key) const |
vector< string > | wvec (string key) const |
Additional Inherited Members | |
Public Types inherited from PhysicsBase | |
enum | Status { INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED, INIT_FAILED, LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED, PROCESSLEVEL_USERVETO, MERGING_FAILED, PARTONLEVEL_FAILED, PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED, CHECK_FAILED, OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO } |
Enumerate the different status codes the event generation can have. | |
Protected Member Functions inherited from PhysicsBase | |
PhysicsBase () | |
Default constructor. | |
virtual void | onInitInfoPtr () |
virtual void | onBeginEvent () |
This function is called in the very beginning of each Pythia::next call. | |
virtual void | onEndEvent (Status) |
virtual void | onStat () |
This function is called from the Pythia::stat() call. | |
void | registerSubObject (PhysicsBase &pb) |
Register a sub object that should have its information in sync with this. | |
Protected Attributes inherited from PhysicsBase | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
Pointer to the settings database. | |
ParticleData * | particleDataPtr = {} |
Pointer to the particle data table. | |
Logger * | loggerPtr = {} |
Pointer to logger. | |
HadronWidths * | hadronWidthsPtr = {} |
Pointer to the hadron widths data table. | |
Rndm * | rndmPtr = {} |
Pointer to the random number generator. | |
CoupSM * | coupSMPtr = {} |
Pointers to SM and SUSY couplings. | |
CoupSUSY * | coupSUSYPtr = {} |
BeamSetup * | beamSetupPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
Pointer to information on subcollision parton locations. | |
SigmaTotal * | sigmaTotPtr = {} |
Pointers to the total/elastic/diffractive cross sections. | |
SigmaCombined * | sigmaCmbPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
The SigmaTotal class contains parametrizations of total, elastic and diffractive cross sections, and of the respective slope parameter.
bool calc | ( | int | idA, |
int | idB, | ||
double | eCM | ||
) |
Calculate, or recalculate for new beams or new energy.
Check if nothing changed since before.
Initial values.
Find hadron masses and check that energy is enough. For mesons use the corresponding vector meson masses.
Most options only work for pp/ppbar, so may need to modify choice. Treat a neutron like a proton (except no Coulomb term).
Set up pointer to class that handles total and elastic cross sections.
Initialize and calculate for selected total/elastic class.
Set up pointer to class that handles diffractive cross sections.
Initialize and calculate for selected diffractive class.
Inelastic nondiffractive by unitarity.
Save values to avoid unnecessary duplication.
Done.
void chooseVMDstates | ( | int | idA, |
int | idB, | ||
double | eCM, | ||
int | processCode | ||
) |
Sample the VMD states for resolved photons.
Constants and initial values.
Values to start with.
gamma-gamma.
Evaluate the cross sections individually.
Choose VMD states based on relative fractions.
gamma + p.
Evaluate the cross sections individually.
Choose VMD state based on relative fractions.
p + gamma.
Evaluate the cross sections individually.
Choose VMD state based on relative fractions.
Reset to the original cross section.
Propagate the selected states to Info class for further usage.
void init | ( | ) |
Store pointers and initialize data members.
Store pointer to Info and initialize data members.
Choice of mode.
Default values to trigger initalization at next step.
|
inline |
Standard methods to find t range of a 2 -> 2 process and to check whether a given t value is in that range.