File: StepHandler.h
Description:
StepHandler is the base class for implementing any model
for a step in the event generation chain. It has one main virtual
method, handle, which should be overridden by sub
classes. The handle method is given a reference to a
PartialCollisionHandler, a vector of particles and
a Hint as arguments. The handler is only allowed
to treat particles which are in the vector. The
Hint may be cast dynamically to a sub class and do
whatever it wishes with the information found there. The
PartialCollisionHandler can be used to add other
StepHandlers and Hints to modify
the subsequent generation. If the StepHandler actually
performs some action, the resulting particles should be added to a
new Step which should be aquired with the
PartialCollisionHandler::newStep() method.
See
also:
namespace Pythia7
CLASS
StepHandler:
Base class:
Public members:
inline StepHandler();
inline StepHandler(const StepHandler &);
virtual ~StepHandler();
Standard ctors and dtor
virtual void handle(PartialCollisionHandler & ch, const tPVector & tagged,
const Hint & hint)
PYTHIA7_THROW_SPEC((Veto, Stop, Exception)) = 0;
The main virtual method to be overridden by subclasse.
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 interface.
Protected members:
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 AbstractNoPIOClassDescription<StepHandler> initStepHandler;
StepHandler & operator=(const StepHandler &);
Private and non-existent assignment operator.
template <>
STRUCT
BaseClassTrait<StepHandler,1>
Public members:
typedef HandlerBase NthBase;
template <>
STRUCT
ClassTraits<StepHandler>:
Public members:
static string className() { return "/Pythia7/StepHandler"; }
DEFINED MACROS
INCLUDED FILES
Pythia7/Config/Pythia7.h
Pythia7/Misc/Exception.fh
Pythia7/Handlers/HandlerBase.h
stdexcept
StepHandler.icc