PYTHIA  8.312
Public Member Functions | List of all members
SigmaTotal Class Reference

#include <SigmaTotal.h>

Inheritance diagram for SigmaTotal:
PhysicsBase

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
InfoinfoPtr = {}
 
SettingssettingsPtr = {}
 Pointer to the settings database.
 
ParticleDataparticleDataPtr = {}
 Pointer to the particle data table.
 
LoggerloggerPtr = {}
 Pointer to logger.
 
HadronWidthshadronWidthsPtr = {}
 Pointer to the hadron widths data table.
 
RndmrndmPtr = {}
 Pointer to the random number generator.
 
CoupSMcoupSMPtr = {}
 Pointers to SM and SUSY couplings.
 
CoupSUSYcoupSUSYPtr = {}
 
BeamSetupbeamSetupPtr = {}
 
BeamParticlebeamAPtr = {}
 
BeamParticlebeamBPtr = {}
 
BeamParticlebeamPomAPtr = {}
 
BeamParticlebeamPomBPtr = {}
 
BeamParticlebeamGamAPtr = {}
 
BeamParticlebeamGamBPtr = {}
 
BeamParticlebeamVMDAPtr = {}
 
BeamParticlebeamVMDBPtr = {}
 
PartonSystemspartonSystemsPtr = {}
 Pointer to information on subcollision parton locations.
 
SigmaTotalsigmaTotPtr = {}
 Pointers to the total/elastic/diffractive cross sections.
 
SigmaCombinedsigmaCmbPtr = {}
 
set< PhysicsBase * > subObjects
 
UserHooksPtr userHooksPtr
 

Detailed Description

The SigmaTotal class contains parametrizations of total, elastic and diffractive cross sections, and of the respective slope parameter.

Member Function Documentation

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.

pair<double,double> tRange ( double  sIn,
double  s1In,
double  s2In,
double  s3In,
double  s4In 
)
inline

Standard methods to find t range of a 2 -> 2 process and to check whether a given t value is in that range.


The documentation for this class was generated from the following files: