Pythia7::ShowerHandler Class Reference

The ShowerHandler class administers parton showers for external partons in a hard SubProcess or in a decay of a heavy resonance. More...

#include <ShowerHandler.h>

Inheritance diagram for Pythia7::ShowerHandler:

ThePEG::CascadeHandler ThePEG::StepHandler ThePEG::LastXCombInfo< XC > ThePEG::HandlerBase ThePEG::HandlerBaseT< T > ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted

List of all members.

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::ShowergetModel ()
 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, ColourLinecolourIndex
 Association between ColourLines and colour indices.
ObjectIndexer< long, ParticleparticleIndex
 Association between Particles and indices.

Private Member Functions

ShowerHandleroperator= (const ShowerHandler &)
 Private and non-existent assignment operator.

Private Attributes

Shower::ShowertheShowerModel
 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...


Detailed Description

The 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.

See also:
The interfaces defined for ShowerHandler.

SubProcess

TimeParticle

SpaceParticle

TimeShower

SpaceShower

Definition at line 39 of file ShowerHandler.h.


Member Function Documentation

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().

Parameters:
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.
Exceptions:
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.

Parameters:
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.

Parameters:
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.

Returns:
a pointer to the new 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.

Returns:
a pointer to the new object.

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.

Exceptions:
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.

Parameters:
trans a TranslationMap relating the original objects to their respective clones.
Exceptions:
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.

Returns:
a vector of pointers.

Reimplemented from ThePEG::InterfacedBase.


Member Data Documentation

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.


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

Generated on Thu Apr 29 12:45:33 2010 for Pythia7 by  doxygen 1.5.5