StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Pythia8::HeavyIons Class Referenceabstract

#include <HeavyIons.h>

Inheritance diagram for Pythia8::HeavyIons:
Pythia8::PhysicsBase Pythia8::Angantyr Pythia8::Angantyr

Classes

struct  InfoGrabber
 

Public Member Functions

 HeavyIons (Pythia &mainPythiaIn)
 
virtual ~HeavyIons ()
 Destructor.
 
virtual bool init ()=0
 
virtual bool next ()=0
 
bool setHIUserHooksPtr (HIUserHooks *userHooksPtrIn)
 Possibility to pass in pointer for special heavy ion user hooks.
 
virtual void stat ()
 
 HeavyIons (Pythia &mainPythiaIn)
 
virtual ~HeavyIons ()
 Destructor.
 
virtual bool init ()=0
 
virtual bool next ()=0
 
bool setHIUserHooksPtr (HIUserHooksPtr userHooksPtrIn)
 Possibility to pass in pointer for special heavy ion user hooks.
 
virtual void stat ()
 
- Public Member Functions inherited from Pythia8::PhysicsBase
void initInfoPtr (Info &infoPtrIn)
 
bool flag (string key) const
 
int mode (string key) const
 
double parm (string key) const
 
string word (string key) const
 

Static Public Member Functions

static void addSpecialSettings (Settings &settings)
 
static bool isHeavyIon (Settings &settings)
 
static void addSpecialSettings (Settings &settings)
 
static bool isHeavyIon (Settings &settings)
 

Public Attributes

HIInfo hiinfo
 
HIInfo hiInfo
 

Protected Member Functions

void sumUpMessages (Info &in, string tag, const Info &other)
 
void updateInfo ()
 
void clearProcessLevel (Pythia &pyt)
 
void sumUpMessages (Info &in, string tag, const Info *other)
 
void updateInfo ()
 
void clearProcessLevel (Pythia &pyt)
 
- Protected Member Functions inherited from Pythia8::PhysicsBase
virtual void onInitInfoPtr ()
 
virtual void onBeginEvent ()
 
virtual void onEndEvent (Status)
 
virtual void onStat ()
 
void registerSubObject (PhysicsBase &pb)
 

Static Protected Member Functions

static void setupSpecials (Settings &settings, string match)
 Duplicate setting on the form match: to settings on the form HImatch:
 
static void setupSpecials (Pythia &p, string match)
 
static void setupSpecials (Settings &settings, string match)
 Duplicate setting on the form match: to settings on the form HImatch:
 
static void setupSpecials (Pythia &p, string match)
 

Protected Attributes

PythiamainPythiaPtr
 
SigmaTotal sigtot
 
HIUserHooksHIHooksPtr
 
vector< Pythia * > pythia
 
vector< string > pythiaNames
 The names associated with the secondary pythia objects.
 
HIUserHooksPtr HIHooksPtr
 
vector< Info * > info
 
- Protected Attributes inherited from Pythia8::PhysicsBase
InfoinfoPtr = {}
 
SettingssettingsPtr = {}
 
ParticleDataparticleDataPtr = {}
 
HadronWidthshadronWidthsPtr = {}
 
RndmrndmPtr = {}
 
CoupSMcoupSMPtr = {}
 
CoupSUSYcoupSUSYPtr = {}
 
BeamParticlebeamAPtr = {}
 
BeamParticlebeamBPtr = {}
 
BeamParticlebeamPomAPtr = {}
 
BeamParticlebeamPomBPtr = {}
 
BeamParticlebeamGamAPtr = {}
 
BeamParticlebeamGamBPtr = {}
 
BeamParticlebeamVMDAPtr = {}
 
BeamParticlebeamVMDBPtr = {}
 
PartonSystemspartonSystemsPtr = {}
 
SigmaTotalsigmaTotPtr = {}
 
set< PhysicsBase * > subObjects
 
UserHooksPtr userHooksPtr
 

Additional Inherited Members

- Public Types inherited from Pythia8::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
}
 

Detailed Description

HeavyIons contains several standard Pythia objects to allow for the combination of different kinds of nucleon-nucleon events into a heavy ion collision event. The actual model for doing this must be implemented in a subclass overriding the the virtual'init()' and 'next()' functions.

Definition at line 30 of file HeavyIons.h.

Constructor & Destructor Documentation

Pythia8::HeavyIons::HeavyIons ( Pythia mainPythiaIn)
inline

The constructor needs a reference to the main Pythia object to which it will belong. A HeavyIons object cannot belong to more than one main Pythia object.

Definition at line 37 of file HeavyIons.h.

References hiinfo, and mainPythiaPtr.

Pythia8::HeavyIons::HeavyIons ( Pythia mainPythiaIn)
inline

The constructor needs a reference to the main Pythia object to which it will belong. A HeavyIons object cannot belong to more than one main Pythia object.

Definition at line 38 of file HeavyIons.h.

Member Function Documentation

void Pythia8::HeavyIons::addSpecialSettings ( Settings settings)
static

Static function to alow Pythia to duplicate some setting names to be used for secondary Pythia objects.

Definition at line 24 of file HeavyIons.cc.

References setupSpecials().

static void Pythia8::HeavyIons::addSpecialSettings ( Settings settings)
static

Static function to alow Pythia to duplicate some setting names to be used for secondary Pythia objects.

void Pythia8::HeavyIons::clearProcessLevel ( Pythia pyt)
protected

If subclasses has additional Pythia objects for generating minimum bias nucleon collisions and the main Pythia object is set up to generated a hard signal process, this function can be used to clear all selected processes in a clone of the main Pythia object.

Definition at line 126 of file HeavyIons.cc.

Referenced by Pythia8::Angantyr::init().

void Pythia8::HeavyIons::clearProcessLevel ( Pythia pyt)
protected

If subclasses has additional Pythia objects for generating minimum bias nucleon collisions and the main Pythia object is set up to generated a hard signal process, this function can be used to clear all selected processes in a clone of the main Pythia object.

virtual bool Pythia8::HeavyIons::init ( )
pure virtual

Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::init function if the mode HeavyIon:mode is set non zero. The return value should be true if this object is able to handle the requested collision type. If false Pythia::init will set HeavyIon:mode to zero but will try to cope anyway.

Implemented in Pythia8::Angantyr, and Pythia8::Angantyr.

virtual bool Pythia8::HeavyIons::init ( )
pure virtual

Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::init function if the mode HeavyIon:mode is set non zero. The return value should be true if this object is able to handle the requested collision type. If false Pythia::init will set HeavyIon:mode to zero but will try to cope anyway.

Implemented in Pythia8::Angantyr, and Pythia8::Angantyr.

bool Pythia8::HeavyIons::isHeavyIon ( Settings settings)
static

Return true if the beams in the Primary Pythia object contains heavy ions.

Definition at line 258 of file HeavyIons.cc.

static bool Pythia8::HeavyIons::isHeavyIon ( Settings settings)
static

Return true if the beams in the Primary Pythia object contains heavy ions.

virtual bool Pythia8::HeavyIons::next ( )
pure virtual

Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::next function if HeavyIon:mode is set non zero. After the call, Pythia::next will return immediately with the return value of this function.

Implemented in Pythia8::Angantyr, and Pythia8::Angantyr.

virtual bool Pythia8::HeavyIons::next ( )
pure virtual

Virtual function to be implemented in a subclass. This will be called in the beginning of the Pythia::next function if HeavyIon:mode is set non zero. After the call, Pythia::next will return immediately with the return value of this function.

Implemented in Pythia8::Angantyr, and Pythia8::Angantyr.

void Pythia8::HeavyIons::setupSpecials ( Pythia p,
string  match 
)
staticprotected

Copy settings on the form HImatch: to the corresponding match: in the given Pythia object.

Definition at line 75 of file HeavyIons.cc.

static void Pythia8::HeavyIons::setupSpecials ( Pythia p,
string  match 
)
staticprotected

Copy settings on the form HImatch: to the corresponding match: in the given Pythia object.

void Pythia8::HeavyIons::sumUpMessages ( Info in,
string  tag,
const Info other 
)
protected

Subclasses will probably use several Pythia object and this helper function will sum up all warnings and errors of these and add them to the main Pythia object, prefixing them with a tag.

Definition at line 114 of file HeavyIons.cc.

void Pythia8::HeavyIons::sumUpMessages ( Info in,
string  tag,
const Info other 
)
protected

Subclasses will probably use several Pythia object and this helper function will sum up all warnings and errors of these and add them to the main Pythia object, prefixing them with a tag.

Definition at line 115 of file HeavyIons.cc.

void Pythia8::HeavyIons::updateInfo ( )
protected

Update the cross section in the main Pythia Info object using information in the hiinfo object.

Definition at line 152 of file HeavyIons.cc.

References hiinfo, mainPythiaPtr, and Pythia8::HIInfo::weight().

Referenced by Pythia8::Angantyr::next().

void Pythia8::HeavyIons::updateInfo ( )
protected

Update the cross section in the main Pythia Info object using information in the hiInfo object.

Member Data Documentation

HIUserHooks* Pythia8::HeavyIons::HIHooksPtr
protected
HIUserHooksPtr Pythia8::HeavyIons::HIHooksPtr
protected

Optional HIUserHooks object able to modify the behavior of the HeavyIon model.

Definition at line 108 of file HeavyIons.h.

HIInfo Pythia8::HeavyIons::hiinfo

This is the HIInfo object containing information about the last generated heavy ion event and som statistics of all such events generated since the last call to init();

Definition at line 122 of file HeavyIons.h.

Referenced by Pythia8::Angantyr::addNucleusRemnants(), HeavyIons(), Pythia8::Angantyr::next(), and updateInfo().

HIInfo Pythia8::HeavyIons::hiInfo

This is the HIInfo object containing information about the last generated heavy ion event and som statistics of all such events generated since the last call to init();

Definition at line 137 of file HeavyIons.h.

vector<Info*> Pythia8::HeavyIons::info
protected

The Info objects associated to the secondary the secondary pythia objects.

Definition at line 119 of file HeavyIons.h.

Referenced by Pythia8::Angantyr::addNucleonExcitation(), and Pythia8::Angantyr::init().

Pythia * Pythia8::HeavyIons::mainPythiaPtr
protected

This is the pointer to the main Pythia object to which this object is assigned.

Definition at line 100 of file HeavyIons.h.

Referenced by Pythia8::Angantyr::addNucleonExcitation(), Pythia8::Angantyr::getSignal(), HeavyIons(), Pythia8::Angantyr::init(), Pythia8::Angantyr::next(), and updateInfo().

vector< Pythia * > Pythia8::HeavyIons::pythia
protected
SigmaTotal Pythia8::HeavyIons::sigtot
protected

Object containing information on inclusive pp cross sections to be used in Glauber calculations in subclasses.

Definition at line 104 of file HeavyIons.h.

Referenced by Pythia8::Angantyr::init().


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