ThePEG::MultiEventGenerator Class Reference

The MultiEventGenerator class is derived from the EventGenerator class and is capable of making several runs with a pre-defined set of parameter and switch values. More...

#include <MultiEventGenerator.h>

Inheritance diagram for ThePEG::MultiEventGenerator:

ThePEG::EventGenerator ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted

List of all members.

Public Member Functions

Standard constructors and destructors.
virtual ~MultiEventGenerator ()
 Destructor.
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

void heading (ostream &, long, const vector< const InterfaceBase * > &, string) const
 Write out header for each sub-run.
Public virtual functions required by the base class.
virtual void doGo (long next, long maxevent, bool tics)
 Run this EventGenerator session.
Functions used by the Command<MultiEventGenerator>
interfaces to set up the different parameters of the runs.

string addInterface (string)
 Used to add an interface of an object which should be used with a set of different values.
string removeInterface (string)
 Used to remove an interface of an object which should be used with a set of different values.
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 rebind (const TranslationMap &trans)
 Rebind pointer to other Interfaced objects.
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object.

Private Types

typedef vector< string > StringVector
 A vector of character strings.

Private Member Functions

MultiEventGeneratoroperator= (const MultiEventGenerator &)
 Private and non-existent assignment operator.

Private Attributes

IVector theObjects
 The objects for which there are different interface settings.
StringVector theInterfaces
 The interfaces to be modified for the corresponding objects in theObjects.
StringVector thePosArgs
 If the there are positional arguments to theInterfaces these are specified here.
vector< StringVectortheValues
 The arguments to be used for each of theInterfaces.

Static Private Attributes

static ClassDescription
< MultiEventGenerator
initMultiEventGenerator
 Describe a concrete class with persistent data.


Detailed Description

The MultiEventGenerator class is derived from the EventGenerator class and is capable of making several runs with a pre-defined set of parameter and switch values.

With the Command<MultiEventGenerator> interface AddInterface set of parameters for an included object can be specified as eg. object:interface arg1, arg2, arg3 .... The event generator will then be run once with the specified objects interface set to arg1, then once with arg2 etc. If several AddInterface commands are given the event generator will be run once for each possible combination arguments to object interfaces.

See also:
EventGenerator

Definition at line 34 of file MultiEventGenerator.h.


Member Typedef Documentation

typedef vector<string> ThePEG::MultiEventGenerator::StringVector [private]

A vector of character strings.

Definition at line 147 of file MultiEventGenerator.h.


Member Function Documentation

virtual void ThePEG::MultiEventGenerator::doGo ( long  next,
long  maxevent,
bool  tics 
) [protected, virtual]

Run this EventGenerator session.

Is called from EventGenerator::go(long,long,bool).

Reimplemented from ThePEG::EventGenerator.

string ThePEG::MultiEventGenerator::addInterface ( string   )  [protected]

Used to add an interface of an object which should be used with a set of different values.

The argument should be given as "object:interface arg1, arg2, ..."

string ThePEG::MultiEventGenerator::removeInterface ( string   )  [protected]

Used to remove an interface of an object which should be used with a set of different values.

The argument should be given as "object:interface arg1, arg2, ..."

void ThePEG::MultiEventGenerator::persistentOutput ( PersistentOStream os  )  const

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented from ThePEG::EventGenerator.

void ThePEG::MultiEventGenerator::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::EventGenerator.

virtual IBPtr ThePEG::MultiEventGenerator::clone (  )  const [protected, virtual]

Make a simple clone of this object.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::EventGenerator.

virtual IBPtr ThePEG::MultiEventGenerator::fullclone (  )  const [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::EventGenerator.

virtual void ThePEG::MultiEventGenerator::rebind ( const TranslationMap trans  )  [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 ThePEG::MultiEventGenerator::getReferences (  )  [protected, virtual]

Return a vector of all pointers to Interfaced objects used in this object.

Returns:
a vector of pointers.

Reimplemented from ThePEG::InterfacedBase.


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

Generated on Thu Apr 29 12:43:22 2010 for ThePEG by  doxygen 1.5.5