PYTHIA  8.312
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
PhysicsBase Class Reference

#include <PhysicsBase.h>

Inheritance diagram for PhysicsBase:
BeamParticle BeamRemnants BeamSetup BoseEinstein ColourReconnectionBase DeuteronProduction DipoleSwingBase FragmentationModifierBase GammaKinematics HadronLevel HadronWidths HardDiffraction HeavyIons HiddenValleyFragmentation JunctionSplitting LowEnergyProcess Merging MergingHooks MiniStringFragmentation MultipartonInteractions NucleonExcitations ParticleDecays PartonLevel PartonVertex PhaseSpace ProcessContainer ProcessLevel ResonanceDecays RHadrons RopeFragPars ShowerModel SigmaCombined SigmaLowEnergy SigmaProcess SigmaTotal SpaceShower StringFlav StringFragmentation StringInteractions StringPT StringRepulsionBase StringZ TauDecays TimeShower UserHooks

Public Types

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.
 

Public Member Functions

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
 

Protected Member Functions

 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

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
 

Friends

class Pythia
 

Detailed Description

Classes that implement physics models should inherit from the PhysicsBase class. It includes pointers to objects set up in the controlling Pythia object to take care of bookkeeping and simpler service tasks.

Member Function Documentation

void initInfoPtr ( Info infoIn)

This function is called from above for physics objects used in a run.

The PhysicsBase class.

Make available an assortment of pointers stored in the info object.

Store the info object.

Other objects extracted from Info.

If the class has sub objects, register them now.

virtual void onEndEvent ( Status  )
inlineprotectedvirtual

This function is called in the very end of each Pythia::next call with the argument set to the current status of the event.

Reimplemented in Dire.

virtual void onInitInfoPtr ( )
inlineprotectedvirtual

If an object needs to set up infoPtr for sub objects, override this and call registerSubObject for each object in question.

Reimplemented in FlavourRope, Angantyr, UserHooks, BeamSetup, HiddenValleyFragmentation, PartonLevel, HadronLevel, ParticleDecays, ProcessLevel, BeamRemnants, and JunctionSplitting.

Member Data Documentation

BeamSetup* beamSetupPtr = {}
protected

Pointers to the two incoming beams and to Pomeron, photon or VMD beam-inside-beam cases.

Info* infoPtr = {}
protected

Pointer to various information on the generation. This is also the place from which a number of pointers are recovered.

set<PhysicsBase*> subObjects
protected

A set of sub objects that should have their information in sync with This.

UserHooksPtr userHooksPtr
protected

Pointer to the UserHooks object (needs to be sett to null in classes deriving from UserHooks to avoid closed loop ownership).


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