ShowerHandler
class administers parton showers for external partons in a hard SubProcess or in a decay of a heavy resonance.
More...
#include <ShowerHandler.h>
Public Member Functions | |
virtual void | cascade (const tPVector &final) |
Perform a final-state cascade on the given partons. | |
virtual void | cascade (tSubProPtr sub) |
Perform an initial-state cascade on the incoming partons of the given sub-process. | |
virtual bool | canShower (tcPPtr p, bool inc=false) const |
Return true if the given particle can be showered. | |
bool | history () const |
If true all branchings in the shower will be added to the new step. | |
tTimeShowerPtr | timeShower () const |
Return a pointer to the object which implements the actual time-like shower model. | |
tSpaceShowerPtr | spaceShower () const |
Return a pointer to the object which implements the actual space-like shower model. | |
Standard constructors and destructors. | |
ShowerHandler () | |
The default constructor. | |
ShowerHandler (const ShowerHandler &) | |
The copy constructor. | |
virtual | ~ShowerHandler () |
The destructor. | |
Virtual functions required by the CascadeHandler class. | |
virtual void | handle (EventHandler &eh, const tPVector &tagged, const Hint &hint) |
The main function called by the EventHandler class to perform a step. | |
virtual void | cascade () |
Perform the actual cascade. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
long | addParticle (tPPtr p, long status) |
Add a particle to the internal event record with the given status. | |
long | addParticle (tPPtr p, long status, long mother1, long mother2) |
Add a particle to the internal event record with the given status and mother indices. | |
void | addFinalParticles (tPPtr p, long mother1, long mother2) |
Add a time-like particle to the internal event record with the given mother indices. | |
Shower::Shower * | getModel () |
Set the static parameters of the underlying model object and return an instance. | |
bool | isResonance (tcPPtr r) const |
Return true if the given particle is a resonance (defined by the fact that all children only has the resonance as a parent). | |
void | findChain (pair< long, long > &chain, long init) const |
Recursively find the first and last indices in the internal event record of the incoming shower initiator. | |
tPPair | findParent (long i) const |
Find the parent ThePEG::Particle pair of a given entry in the internal event record. | |
tPPtr | createParticle (long i, bool inc=false) |
Create a ThePEG::Particle corresponding to a given entry in the internal event record. | |
tPPtr | copyParticle (long i, tPPtr p) |
Copy information of the given entry in the internal event record to the given ThePEG::Particle. | |
tPPtr | getParticle (long i) const |
Return the ThePEG::Particle corresponding to a given entry in the internal event record. | |
Lorentz5Momentum | momentum (long i) const |
Return the momentum of the given entry in the internal event record. | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Standard Interfaced functions. | |
virtual void | doupdate () throw (UpdateException) |
Check sanity of the object during the setup phase. | |
virtual void | doinit () throw (InitException) |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
virtual void | rebind (const TranslationMap &trans) throw (RebindException) |
Rebind pointer to other Interfaced objects. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
Protected Attributes | |
Shower::Event | event |
The event record used internally. | |
ObjectIndexer< long, ColourLine > | colourIndex |
Association between ColourLines and colour indices. | |
ObjectIndexer< long, Particle > | particleIndex |
Association between Particles and indices. | |
Private Member Functions | |
ShowerHandler & | operator= (const ShowerHandler &) |
Private and non-existent assignment operator. | |
Private Attributes | |
Shower::Shower * | theShowerModel |
The object implementing the administration of the time- and space-like showers. | |
TimeShowerPtr | theTimeShower |
The object which implements the actual time-like shower model. | |
SpaceShowerPtr | theSpaceShower |
The object which implements the actual space-like shower model. | |
bool | addFSROnISR |
If true add final-state radiation off initial-state cascade. | |
bool | theFullHistory |
If true all branchings in the shower will be added to the new step. | |
long | maxTries |
The maximum number of attempts to cascade a sub process before giving up and throwing an eventerror. | |
Static Private Attributes | |
static ClassDescription < ShowerHandler > | initShowerHandler |
Describe a concrete class with persistent data. | |
Classes | |
struct | InfiniteLoopException |
Exception class used if too many attempts is made to shower a sub-process. More... |
ShowerHandler
class administers parton showers for external partons in a hard SubProcess or in a decay of a heavy resonance.
The main function will identify partons in the current step which should shower and create corresponding TimeParticle and SpaceParticle objects which, using the assigned TimeShower and SpaceShower objects, will administer the showering.
SubProcess
TimeParticle
SpaceParticle
TimeShower
SpaceShower
Definition at line 39 of file ShowerHandler.h.
virtual void Pythia7::ShowerHandler::handle | ( | EventHandler & | eh, | |
const tPVector & | tagged, | |||
const Hint & | hint | |||
) | [virtual] |
The main function called by the EventHandler class to perform a step.
Stores important information and calls cascade().
eh | the EventHandler in charge of the Event generation. | |
tagged | if not empty these are the only particles which should be considered by the StepHandler. | |
hint | a Hint object with possible information from previously performed steps. |
Veto | if the StepHandler requires the current step to be discarded. | |
Stop | if the generation of the current Event should be stopped after this call. | |
Exception | if something goes wrong. |
Reimplemented from ThePEG::CascadeHandler.
virtual bool Pythia7::ShowerHandler::canShower | ( | tcPPtr | p, | |
bool | inc = false | |||
) | const [virtual] |
Return true if the given particle can be showered.
If inc is true, test if the particle can initiate an initial state shower.
bool Pythia7::ShowerHandler::history | ( | ) | const [inline] |
If true all branchings in the shower will be added to the new step.
Otherwise only the final partons will be added.
void Pythia7::ShowerHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
void Pythia7::ShowerHandler::persistentInput | ( | PersistentIStream & | is, | |
int | version | |||
) |
Function used to read in object persistently.
is | the persistent input stream read from. | |
version | the version number of the object when written. |
Reimplemented from ThePEG::Interfaced.
long Pythia7::ShowerHandler::addParticle | ( | tPPtr | p, | |
long | status | |||
) | [protected] |
Add a particle to the internal event record with the given status.
Note that if the parent particles has not already been added, they will not be listed as parents in the internal event record.
long Pythia7::ShowerHandler::addParticle | ( | tPPtr | p, | |
long | status, | |||
long | mother1, | |||
long | mother2 | |||
) | [protected] |
Add a particle to the internal event record with the given status and mother indices.
Note that if the parent particles has not already been added, they will not be listed as parents in the internal event record.
void Pythia7::ShowerHandler::addFinalParticles | ( | tPPtr | p, | |
long | mother1, | |||
long | mother2 | |||
) | [protected] |
Add a time-like particle to the internal event record with the given mother indices.
If the particle has decayed add its children recursively.
tPPtr Pythia7::ShowerHandler::createParticle | ( | long | i, | |
bool | inc = false | |||
) | [protected] |
Create a ThePEG::Particle corresponding to a given entry in the internal event record.
If inc is true the particle is an initiator for an intial state shower.
virtual IBPtr Pythia7::ShowerHandler::clone | ( | ) | const [inline, protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual IBPtr Pythia7::ShowerHandler::fullclone | ( | ) | const [inline, protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
virtual void Pythia7::ShowerHandler::doinit | ( | ) | throw (InitException) [inline, protected, virtual] |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
virtual void Pythia7::ShowerHandler::doinitrun | ( | ) | [inline, protected, virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
virtual void Pythia7::ShowerHandler::dofinish | ( | ) | [inline, protected, virtual] |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
virtual void Pythia7::ShowerHandler::rebind | ( | const TranslationMap & | trans | ) | throw (RebindException) [inline, protected, virtual] |
Rebind pointer to other Interfaced objects.
Called in the setup phase after all objects used in an EventGenerator has been cloned so that the pointers will refer to the cloned objects afterwards.
trans | a TranslationMap relating the original objects to their respective clones. |
RebindException | if no cloned object was found for a given pointer. |
Reimplemented from ThePEG::InterfacedBase.
virtual IVector Pythia7::ShowerHandler::getReferences | ( | ) | [inline, protected, virtual] |
Return a vector of all pointers to Interfaced objects used in this object.
Reimplemented from ThePEG::InterfacedBase.
bool Pythia7::ShowerHandler::theFullHistory [private] |
If true all branchings in the shower will be added to the new step.
Otherwise only the final partons will be added.
Definition at line 319 of file ShowerHandler.h.