File: ShowerHandler.h
Description:
This class is the main driver of the shower: it is responsible for
the proper handling of all other specific collaborating classes
and for the storing of the produced particles in the event record.
See
also:
namespace Herwig
CLASS
ShowerHandler:
Base class:
Public members:
inline ShowerHandler();
inline ShowerHandler(const ShowerHandler &);
virtual ~ShowerHandler();
Standard ctors and dtor.
virtual void cascade();
The main method which manages the all showering.
void persistentOutput(PersistentOStream &) const;
void persistentInput(PersistentIStream &, int);
Standard functions for writing and reading from persistent streams.
static void Init();
Standard Init function used to initialize the interfaces.
Protected members:
inline virtual IBPtr clone() const;
inline virtual IBPtr fullclone() const;
Standard clone methods.
inline virtual void doupdate() throw(UpdateException);
inline virtual void doinit() throw(InitException);
inline virtual void dofinish();
Standard Interfaced virtual functions.
inline virtual void rebind(const TranslationMap & trans)
throw(RebindException);
Change all pointers to Interfaced objects to corresponding clones.
inline virtual IVector getReferences();
Return pointers to all Interfaced objects refered to by this.
Private members:
static ClassDescription<ShowerHandler> initShowerHandler;
Describe a concrete class with persistent data.
ShowerHandler & operator=(const ShowerHandler &);
Private and non-existent assignment operator.
void createShowerParticlesFromP7Particles( const tPartCollHdlPtr ch,
ShowerParticleVector & hardProcessParticles );
From the ThePEG particles entering the hard subprocess, create
the corresponding starting ShowerParticle objects and
put them in the vector hardProcessParticles.
Notice that the transformation from ThePEG ColourLine
objects into ShowerColourLine ones must be properly handled.
void fillPositions();
It fills the positions information for all the ShowerParticle
objects in _particles, at the end of the showering.
void debuggingInfo();
Print debugging information.
void fillEventRecord( const tPartCollHdlPtr ch );
At the end of the Showering, transform ShowerParticle objects
into ThePEG particles and fill the event record with them.
Notice that the parent/child relationships and the
transformation from ShowerColourLine objects into ThePEG
ColourLine ones must be properly handled.
print the particles in the step
void printStep(tStepPtr ptrStep, const string & title);
calculate event shape variables from a given set of particles
void eventShape(const tShowerParticleVector & p,
vector<double> & lam, vector<Vector3> & n);
calculate hard ME correction
void hardMEC(const tPartCollHdlPtr ch);
Ptr<GlobalParameters>::pointer _pointerGlobalParameters;
Ptr<MECorrections>::pointer _pointerMECorrections;
Ptr<ShowerConstrainer>::pointer _pointerShowerConstrainer;
Ptr<InsideRangeShowerEvolver>::pointer _pointerInsideRangeShowerEvolver;
ShowerParticleVector _particles;
DEFINED MACROS
INCLUDED FILES
ThePEG/Handlers/CascadeHandler.h
Herwig++/Utilities/GlobalParameters.h
ShowerParticle.h
MECorrections.h
ShowerConstrainer.h
InsideRangeShowerEvolver.h