File: ForwardShowerEvolver.h
Description:
This class is responsible for the forward evolution of a time-like particles
(and recursively to all their radiation products).
It also treats the special case of the showering of a time-like decaying particle,
in which the emissions have reversed angular ordering.
See
also:
namespace Herwig
CLASS
ForwardShowerEvolver:
Base class:
Public members:
inline ForwardShowerEvolver();
inline ForwardShowerEvolver(const ForwardShowerEvolver &);
virtual ~ForwardShowerEvolver();
Standard ctors and dtor.
bool timeLikeShower( tPartCollHdlPtr ch,
const tShoConstrPtr showerConstrainer,
const tMECorrectionPtr meCorrectionPtr,
tShowerParticlePtr particle,
ShowerParticleVector & collecShoPar,
const bool specialDecay = false ) throw (Veto, Stop, Exception);
It does the forward evolution of the time-like input particle
(and recursively for all its radiation products).
accepting only emissions which conforms to the showerConstrainer
and soft matrix element correction pointed by meCorrectionPtr.
In the case that specialDecay is true then the forward evolution
is done with reverse angular ordering, as it should be for radiation
emitted by a decaying particle.
If at least one emission has occurred then the method returns true
and all the new created ShowerParticle objects (but not the input
particle) are added to the collection collecShoPar (which can
contain, at the beginning of the method, either the full collection
of ShowerParticle already created so far by the showering,
or being empty: the choice is up to the caller).
Private members:
bool MEVeto(tcPPtr, const Energy &, const double &);
Public members:
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<ForwardShowerEvolver> initForwardShowerEvolver;
Describe a concrete class with persistent data.
ForwardShowerEvolver & operator=(const ForwardShowerEvolver &);
Private and non-existent assignment operator.
Ptr<SplittingGenerator>::pointer _pointerSplittingGenerator;
Ptr<RhoDMatrixPropagator>::pointer _pointerRhoDMatrixPropagator;
DEFINED MACROS
HERWIG_ForwardShowerEvolver_H
INCLUDED FILES
ThePEG/Handlers/HandlerBase.h
ShowerConfig.h
Herwig++/Utilities/GlobalParameters.h
SplittingGenerator.h
RhoDMatrixPropagator.h