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

The default HeavyIon model in Pythia. More...

#include <HeavyIons.h>

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

Classes

class  Redirect
 internal class to redirect stdout More...
 

Public Types

enum  PythiaObject {
  HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3,
  SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7,
  HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3,
  SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7
}
 Enumerate the different internal Pythia objects. More...
 
enum  PythiaObject {
  HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3,
  SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7,
  HADRON = 0, MBIAS = 1, SASD = 2, SIGPP = 3,
  SIGPN = 4, SIGNP = 5, SIGNN = 6, ALL = 7
}
 Enumerate the different internal Pythia objects. More...
 
- 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
}
 

Public Member Functions

 Angantyr (Pythia &mainPythiaIn)
 
virtual bool init ()
 Initialize Angantyr.
 
virtual bool next ()
 Produce a collision involving heavy ions.
 
bool setUserHooksPtr (PythiaObject sel, UserHooks *userHooksPtrIn)
 Set UserHooks for specific (or ALL) internal Pythia objects.
 
 Angantyr (Pythia &mainPythiaIn)
 
virtual bool init () override
 Initialize Angantyr.
 
virtual bool next () override
 Produce a collision involving heavy ions.
 
bool setUserHooksPtr (PythiaObject sel, UserHooksPtr userHooksPtrIn)
 Set UserHooks for specific (or ALL) internal Pythia objects.
 
vector< Nucleon >::iterator projBegin ()
 Iterate over nucleons.
 
vector< Nucleon >::iterator targBegin ()
 
vector< Nucleon >::iterator projEnd ()
 
vector< Nucleon >::iterator targEnd ()
 
- Public Member Functions inherited from Pythia8::HeavyIons
 HeavyIons (Pythia &mainPythiaIn)
 
virtual ~HeavyIons ()
 Destructor.
 
bool setHIUserHooksPtr (HIUserHooks *userHooksPtrIn)
 Possibility to pass in pointer for special heavy ion user hooks.
 
virtual void stat ()
 
 HeavyIons (Pythia &mainPythiaIn)
 
virtual ~HeavyIons ()
 Destructor.
 
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 bool getTransforms (Vec4 p1, Vec4 p2, const Vec4 &p1p, pair< RotBstMatrix, RotBstMatrix > &R12, int, int)
 
static double mT2 (const Vec4 &p)
 
static double mT (const Vec4 &p)
 
static bool getTransforms (Vec4 p1, Vec4 p2, const Vec4 &p1p, pair< RotBstMatrix, RotBstMatrix > &R12, int, int)
 
static double mT2 (const Vec4 &p)
 
static double mT (const Vec4 &p)
 
- Static Public Member Functions inherited from Pythia8::HeavyIons
static void addSpecialSettings (Settings &settings)
 
static bool isHeavyIon (Settings &settings)
 
static void addSpecialSettings (Settings &settings)
 
static bool isHeavyIon (Settings &settings)
 

Protected Member Functions

EventInfo mkEventInfo (Pythia &pyt, const SubCollision *coll=0)
 Setup an EventInfo object from a Pythia instance.
 
EventInfo getSignal (const SubCollision &coll)
 Generate events from the internal Pythia oblects;.
 
EventInfo getND ()
 
EventInfo getND (const SubCollision &coll)
 
EventInfo getEl (const SubCollision &coll)
 
EventInfo getSDP (const SubCollision &coll)
 
EventInfo getSDT (const SubCollision &coll)
 
EventInfo getDD (const SubCollision &coll)
 
EventInfo getCD (const SubCollision &coll)
 
EventInfo getSDabsP (const SubCollision &coll)
 
EventInfo getSDabsT (const SubCollision &coll)
 
EventInfo getMBIAS (const SubCollision *coll, int procid)
 
EventInfo getSASD (const SubCollision *coll, int procid)
 
bool genAbs (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addSASD (const multiset< SubCollision > &coll)
 
bool addDD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
bool addSD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addSDsecond (const multiset< SubCollision > &coll)
 
bool addCD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addCDsecond (const multiset< SubCollision > &coll)
 
bool addEL (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addELsecond (const multiset< SubCollision > &coll)
 
bool buildEvent (list< EventInfo > &subevents, const vector< Nucleon > &proj, const vector< Nucleon > &targ)
 
bool setupFullCollision (EventInfo &ei, const SubCollision &coll, Nucleon::Status ptype, Nucleon::Status ttype)
 
bool fixIsoSpin (EventInfo &ei)
 
EventInfoshiftEvent (EventInfo &ei)
 
bool nextSASD (int proc)
 Generate a single diffractive.
 
bool addNucleonExcitation (EventInfo &orig, EventInfo &add, bool colConnect=false)
 
vector< int > findRecoilers (const Event &e, bool tside, int beam, int end, const Vec4 &pdiff, const Vec4 &pbeam)
 
void addSubEvent (Event &evnt, Event &sub)
 Add a sub-event to the final event record.
 
bool addNucleusRemnants (const vector< Nucleon > &proj, const vector< Nucleon > &targ)
 
virtual void onInitInfoPtr () override
 
bool init (PythiaObject sel, string name, int n=0)
 
EventInfo mkEventInfo (Pythia &, Info &, const SubCollision *coll=0)
 Setup an EventInfo object from a Pythia instance.
 
EventInfo getSignal (const SubCollision &coll)
 Generate events from the internal Pythia oblects;.
 
EventInfo getND ()
 
EventInfo getND (const SubCollision &coll)
 
EventInfo getEl (const SubCollision &coll)
 
EventInfo getSDP (const SubCollision &coll)
 
EventInfo getSDT (const SubCollision &coll)
 
EventInfo getDD (const SubCollision &coll)
 
EventInfo getCD (const SubCollision &coll)
 
EventInfo getSDabsP (const SubCollision &coll)
 
EventInfo getSDabsT (const SubCollision &coll)
 
EventInfo getMBIAS (const SubCollision *coll, int procid)
 
EventInfo getSASD (const SubCollision *coll, int procid)
 
bool genAbs (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addSASD (const multiset< SubCollision > &coll)
 
bool addDD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
bool addSD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addSDsecond (const multiset< SubCollision > &coll)
 
bool addCD (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addCDsecond (const multiset< SubCollision > &coll)
 
bool addEL (const multiset< SubCollision > &coll, list< EventInfo > &subevents)
 
void addELsecond (const multiset< SubCollision > &coll)
 
bool buildEvent (list< EventInfo > &subevents, const vector< Nucleon > &proj, const vector< Nucleon > &targ)
 
bool setupFullCollision (EventInfo &ei, const SubCollision &coll, Nucleon::Status ptype, Nucleon::Status ttype)
 
bool isRemnant (const EventInfo &ei, int i, int past=1) const
 
bool fixIsoSpin (EventInfo &ei)
 
EventInfoshiftEvent (EventInfo &ei)
 
bool nextSASD (int proc)
 Generate a single diffractive.
 
bool addNucleonExcitation (EventInfo &orig, EventInfo &add, bool colConnect=false)
 
vector< int > findRecoilers (const Event &e, bool tside, int beam, int end, const Vec4 &pdiff, const Vec4 &pbeam)
 
void addSubEvent (Event &evnt, Event &sub)
 Add a sub-event to the final event record.
 
bool addNucleusRemnants (const vector< Nucleon > &proj, const vector< Nucleon > &targ)
 
- Protected Member Functions inherited from Pythia8::HeavyIons
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 onBeginEvent ()
 
virtual void onEndEvent (Status)
 
virtual void onStat ()
 
void registerSubObject (PhysicsBase &pb)
 

Static Protected Member Functions

static int getBeam (Event &ev, int i)
 
static void addJunctions (Event &evnt, Event &sub, int coloff)
 
static int getBeam (Event &ev, int i)
 
static void addJunctions (Event &evnt, Event &sub, int coloff)
 
- Static Protected Member Functions inherited from Pythia8::HeavyIons
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)
 

Additional Inherited Members

- Public Attributes inherited from Pythia8::HeavyIons
HIInfo hiinfo
 
HIInfo hiInfo
 
- Protected Attributes inherited from Pythia8::HeavyIons
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
 

Detailed Description

The default HeavyIon model in Pythia.

Definition at line 133 of file HeavyIons.h.

Member Enumeration Documentation

Enumerate the different internal Pythia objects.

Enumerator
HADRON 

For hadronization only.

MBIAS 

Minimum Bias processed.

SASD 

Single diffractive as one side of non-diffractive.

SIGPP 

Optional object for signal processes (pp).

SIGPN 

Optional object for signal processes (pn).

SIGNP 

Optional object for signal processes (np).

SIGNN 

Optional object for signal processes (nn).

ALL 

Indicates all objects.

HADRON 

For hadronization only.

MBIAS 

Minimum Bias processed.

SASD 

Single diffractive as one side of non-diffractive.

SIGPP 

Optional object for signal processes (pp).

SIGPN 

Optional object for signal processes (pn).

SIGNP 

Optional object for signal processes (np).

SIGNN 

Optional object for signal processes (nn).

ALL 

Indicates all objects.

Definition at line 138 of file HeavyIons.h.

Enumerate the different internal Pythia objects.

Enumerator
HADRON 

For hadronization only.

MBIAS 

Minimum Bias processed.

SASD 

Single diffractive as one side of non-diffractive.

SIGPP 

Optional object for signal processes (pp).

SIGPN 

Optional object for signal processes (pn).

SIGNP 

Optional object for signal processes (np).

SIGNN 

Optional object for signal processes (nn).

ALL 

Indicates all objects.

HADRON 

For hadronization only.

MBIAS 

Minimum Bias processed.

SASD 

Single diffractive as one side of non-diffractive.

SIGPP 

Optional object for signal processes (pp).

SIGPN 

Optional object for signal processes (pn).

SIGNP 

Optional object for signal processes (np).

SIGNN 

Optional object for signal processes (nn).

ALL 

Indicates all objects.

Definition at line 153 of file HeavyIons.h.

Constructor & Destructor Documentation

Pythia8::Angantyr::Angantyr ( Pythia mainPythiaIn)

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

Definition at line 272 of file HeavyIons.cc.

References ALL, HADRON, MBIAS, Pythia8::HeavyIons::pythia, Pythia8::HeavyIons::pythiaNames, SASD, SIGNN, SIGNP, SIGPN, and SIGPP.

Pythia8::Angantyr::Angantyr ( Pythia mainPythiaIn)

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

Member Function Documentation

bool Pythia8::Angantyr::addNucleonExcitation ( EventInfo orig,
EventInfo add,
bool  colConnect = false 
)
protected
bool Pythia8::Angantyr::addNucleonExcitation ( EventInfo orig,
EventInfo add,
bool  colConnect = false 
)
protected

Add a diffractive event to an exsisting one. Optionally connect the colours of the added event to the original.

bool Pythia8::Angantyr::addNucleusRemnants ( const vector< Nucleon > &  proj,
const vector< Nucleon > &  targ 
)
protected

Add a nucleus remnant to the given event. Possibly introducing a new particle type.

Definition at line 1497 of file HeavyIons.cc.

References HADRON, Pythia8::HeavyIons::hiinfo, and Pythia8::HeavyIons::pythia.

bool Pythia8::Angantyr::addNucleusRemnants ( const vector< Nucleon > &  proj,
const vector< Nucleon > &  targ 
)
protected

Add a nucleus remnant to the given event. Possibly introducing a new particle type.

bool Pythia8::Angantyr::getTransforms ( Vec4  p1,
Vec4  p2,
const Vec4 p1p,
pair< RotBstMatrix, RotBstMatrix > &  R12,
int  code1,
int  code2 
)
static

Helper function to construct two transformations that would give the vectors p1 and p2 the total four momentum of p1p + p2p.

Definition at line 1293 of file HeavyIons.cc.

Referenced by addNucleonExcitation().

static bool Pythia8::Angantyr::getTransforms ( Vec4  p1,
Vec4  p2,
const Vec4 p1p,
pair< RotBstMatrix, RotBstMatrix > &  R12,
int  ,
int   
)
static

Helper function to construct two transformations that would give the vectors p1 and p2 the total four momentum of p1p + p2p.

bool Pythia8::Angantyr::init ( PythiaObject  sel,
string  name,
int  n = 0 
)
protected

Initiaize a specific Pythia object and optionally run a number of events to get a handle of the cross section.

Definition at line 557 of file HeavyIons.cc.

References Pythia8::HeavyIons::info, init(), next(), and Pythia8::HeavyIons::pythia.


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