9 #ifndef ThePEG_SubProcessHandler_H
10 #define ThePEG_SubProcessHandler_H
13 #include "ThePEG/Config/ThePEG.h"
14 #include "ThePEG/Utilities/Interval.h"
15 #include "ThePEG/Handlers/HandlerGroup.h"
16 #include "ThePEG/Handlers/HandlerBase.h"
17 #include "ThePEG/MatrixElement/MEBase.fh"
18 #include "ThePEG/Cuts/Cuts.fh"
19 #include "SubProcessHandler.fh"
277 struct ClassTraits<SubProcessHandler>:
278 public ClassTraitsBase<SubProcessHandler> {
280 static string className() {
return "ThePEG::SubProcessHandler"; }
virtual void doinitrun()
Initialize this object.
PersistentIStream is used to read persistent objects from a stream where they were previously written...
The SubProcessHandler class is used to handle a set of MEBase objects together with a PartonExtractor...
const HandlerGroupBase & handlerGroup(Group::Handler) const
Access a step handler group.
ClassTraitsType is an empty, non-polymorphic, base class.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
HandlerGroup< SubProcessHandler > theSubprocessGroup
The SubProcessHandler group.
MEVector theMEs
The vector of partonic matrix elements to be used.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
void setupGroups()
Setup the step handler groups.
PExtrPtr thePartonExtractor
The pointer to the parton extractor used.
CutsPtr theCuts
The pointer to the kinematical cuts used.
This is the main namespace within which all identifiers in ThePEG are declared.
tPExtrPtr pExtractor() const
Return a pointer to the parton extractor used.
vector< HandlerGroupBase * > GroupVector
A vector of HandlerGroup pointers.
The HadronizationHandler is the base class of all handlers implementing models for hadronization of c...
HandlerGroup< DecayHandler > theDecayGroup
The DecayHandler group.
virtual IBPtr clone() const
Make a simple clone of this object.
The DecayHandler is the base class of all handlers implementing the administration of decays of unsta...
HandlerGroupBase is the base class for the templated HandlerGroup utility class to manage a group of ...
HandlerGroup< MultipleInteractionHandler > theMultiGroup
The MultipleInteractionHandler group.
tCutsPtr cuts() const
Return a pointer to the kinematical cuts used.
const GroupVector & groups() const
Access the step handler groups.
ReweightVector preweights
The pre- and re-weight objects modifying all matrix element in this sub-process hander.
HandlerGroup< CascadeHandler > theCascadeGroup
The CascadeHandler group.
The MultipleInteractionHandler is the base class of all handlers implementing models for multiple int...
const SubProcessHandler & operator=(const SubProcessHandler &)
Private and non-existent assignment operator.
Handler
Enumeration for the type of HandlerGroups.
RCPtr is a reference counted (smart) pointer.
static void Init()
Standard Init function used to initialize the interface.
HandlerBase is an abstract base class derived from the Interfaced class via the HandlerBaseT class ad...
vector< ReweightPtr > ReweightVector
A vector of ReweightBase pointers.
ReweightVector reweights
The pre- and re-weight objects modifying all matrix element in this sub-process hander.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
const MEVector & MEs() const
Return a reference to the vector of parton matrix elements used.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
HandlerGroup is a templated utility class to manage a group of StepHandlers.
HandlerGroup< HadronizationHandler > theHadronizationGroup
The HadronizationHandler group.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
static string className()
Return the name of class T.
The CascadeHandler is the base class of all handlers implementing perturbative partonic cascade model...
tCascHdlPtr CKKWHandler() const
Return a pointer (possibly null) to the assigned main CascadeHandler to be used as CKKW-reweighter...
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
SubProcessHandler()
Default constructor.
MEVector & MEs()
Return a reference to the vector of parton matrix elements used.
GroupVector theGroups
The step handler groups.
static ClassDescription< SubProcessHandler > initSubProcessHandler
Describe a concreta class with persistent data.
BaseClassTraits describes the base classes of the templated class.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual ~SubProcessHandler()
Default destructor.