ThePEG::Strategy Class Reference

The Strategy class represents a general strategy to be assigned to an EventGenerator. More...

#include <Strategy.h>

Inheritance diagram for ThePEG::Strategy:

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

List of all members.

Public Member Functions

virtual const string versionstring () const
 Return a freeform version string.
Access the special objects in this Strategy.
const ParticleMap & particles () const
 Return the map of local particles indexed by their PDG id number.
string localParticlesDir () const
 A directory in the repository which will be scanned for particles which will be included as default particles in a run.
const vector< string > & defaultParticlesDirs () const
 By default all particles in the Repository are included in a run, although only one particle per PDG id number.
const vector< IPtr > & defaultObjects () const
 Return the vector of default objects.
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 interface.

Protected Member Functions

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.

Private Member Functions

ParticleMap & particles ()
 Return the map of local particles.
void setLocalParticles (PDPtr pd, int)
 Utility function used by the interface.
void insLocalParticles (PDPtr pd, int)
 Utility function used by the interface.
void delLocalParticles (int place)
 Utility function used by the interface.
vector< PDPtrgetLocalParticles () const
 Utility function used by the interface.
void setLocalParticlesDir (string)
 Utility function used by the interface.
void setDefaultParticlesDirs (string, int)
 Utility function used by the interface.
void insDefaultParticlesDirs (string, int)
 Utility function used by the interface.
Strategyoperator= (const Strategy &)
 Private and non-existent assignment operator.

Static Private Member Functions

static bool checkDir (string)
 Utility function used by the interface.

Private Attributes

ParticleMap theParticles
 the map of default particles.
string theLocalParticlesDir
 A directory in the repository which will be scanned for particles which will be included as default particles in a run.
vector< IPtrtheDefaultObjects
 A vector of default objects.
vector< string > theDefaultParticlesDirs
 By default all particles in the Repository are included in a run, although only one particle per PDG id number.

Static Private Attributes

static ClassDescription< StrategyinitStrategy
 Describe a concrete class with persistent data.


Detailed Description

The Strategy class represents a general strategy to be assigned to an EventGenerator.

It contains a set of default ParticleData objects which takes presedence over the ones in the Repository (although not over the ones in the EventGenerator). It also contains a set of other default objects which are automatically assigned to all Reference and RefVector interfaces which have the InterfaceBase::defaultIfNull() flag set. In this case each of the objects in defaultObjects() are tested in turn, and the first object which has the correct class and can be set will be used.

Sub-classes may implement other behaviors by overriding the doinit() function.

See also:
The interfaces defined for Strategy.

EventGenerator

ParticleData

Repository

Reference

Definition at line 41 of file Strategy.h.


Member Function Documentation

string ThePEG::Strategy::localParticlesDir (  )  const

A directory in the repository which will be scanned for particles which will be included as default particles in a run.

These particles will be overridden by particles specified in LocalParticles and default particles specified directly in the EventGenerator.

const vector<string>& ThePEG::Strategy::defaultParticlesDirs (  )  const [inline]

By default all particles in the Repository are included in a run, although only one particle per PDG id number.

If directories are listed here, only particles in these will be considered for inclusion in a run. Only particles which have a PDG id which is not given by particles in localParticlesDir(), particles(), or in EventGenerator::localParticles() will be considered.

Definition at line 69 of file Strategy.h.

References theDefaultParticlesDirs.

virtual const string ThePEG::Strategy::versionstring (  )  const [inline, virtual]

Return a freeform version string.

Client code should not rely on the string's format. It can be used e.g. to annotate plots.

Definition at line 83 of file Strategy.h.

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

Function used to write out object persistently.

Parameters:
os the persistent output stream written to.

Reimplemented from ThePEG::Interfaced.

void ThePEG::Strategy::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::Interfaced.

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

Make a simple clone of this object.

Returns:
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Reimplemented in ThePEG::ThePEGStrategy.

virtual IBPtr ThePEG::Strategy::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::InterfacedBase.

Reimplemented in ThePEG::ThePEGStrategy.


Member Data Documentation

A directory in the repository which will be scanned for particles which will be included as default particles in a run.

These particles will be overridden by particles specified in LocalParticles and default particles specified directly in the EventGenerator.

Definition at line 146 of file Strategy.h.

By default all particles in the Repository are included in a run, although only one particle per PDG id number.

If directories are listed in theDefaultParticlesDirs, only particles in these will be considered for inclusion in a run. Only particles which have a PDG id which is not given by particles in localParticlesDir(), particles(), or in EventGenerator::localParticles() will be considered.

Definition at line 162 of file Strategy.h.

Referenced by defaultParticlesDirs().


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