ThePEG 2.3.0
|
Here is the documentation of the FactoryBase class. More...
#include <FactoryBase.h>
Classes | |
class | DataFiller |
DataFiller is a helper class to facilitate adding data to a DataPointSet. More... | |
Public Types | |
typedef AIDA::IHistogram1D * | tH1DPtr |
Convenient typedef for pointer to AIDA::IHistogram1D. | |
typedef const AIDA::IHistogram1D * | tcH1DPtr |
Convenient typedef for pointer to const AIDA::IHistogram1D. | |
typedef AIDA::IHistogram2D * | tH2DPtr |
Convenient typedef for pointer to AIDA::IHistogram2D. | |
typedef const AIDA::IHistogram2D * | tcH2DPtr |
Convenient typedef for pointer to const AIDA::IHistogram2D. | |
typedef AIDA::IDataPointSet * | tDSetPtr |
Convenient typedef for pointer to AIDA::IHistogram1D. | |
typedef const AIDA::IDataPointSet * | tcDSetPtr |
Convenient typedef for pointer to const AIDA::IHistogram1D. | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState { initializing = -1 , uninitialized = 0 , initialized = 1 , runready = 2 } |
Enumeration reflecting the state of an InterfacedBase object. More... | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
Public Member Functions | |
Standard constructors and destructors. | |
FactoryBase () | |
The default constructor. | |
FactoryBase (const FactoryBase &) | |
The copy constructor. | |
virtual | ~FactoryBase () |
The destructor. | |
Simple access functions. | |
const string & | filename () const |
Together with suffix(), the name of the file where the resulting histograms will be stored. | |
const string & | suffix () const |
Together with filename(), the name of the file where the resulting histograms will be stored. | |
const string & | storeType () const |
The format in which the histograms are stored in the output file. | |
Manipulate histograms | |
virtual void | normalizeToXSec (tH1DPtr histogram, CrossSection unit=picobarn) const =0 |
Rescale the given histogram so that the integral over the bins will give the correct integrated cross section for the observable in the given unit. | |
virtual void | normalizeToXSec (tH2DPtr histogram, CrossSection unit=picobarn) const =0 |
Rescale the given histogram so that the integral over the bins will give the correct integrated cross section for the observable in the given unit. | |
virtual void | normalizeToXSecFraction (tH1DPtr histogram) const =0 |
Rescale the given histogram so that the integral over the bins gives the fraction of the total cross section generated which is contained in the bins. | |
virtual void | normalizeToXSecFraction (tH2DPtr histogram) const =0 |
Rescale the given histogram so that the integral over the bins gives the fraction of the total cross section generated which is contained in the bins. | |
virtual void | normalizeToUnity (tH1DPtr histogram) const =0 |
Rescale the given histogram so that the integral over the bins gives one. | |
virtual void | normalizeToUnity (tH2DPtr histogram) const =0 |
Rescale the given histogram so that the integral over the bins gives one. | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual | ~Interfaced () |
Empty virtual destructor. | |
virtual bool | defaultInit () |
Functions which are to be used during the actual event generation, after the setup is complete. | |
PPtr | getParticle (PID) const |
Create a new Particle instance given a id number. | |
PDPtr | getParticleData (PID) const |
Return a pointer to the ParticleData object corresponding to the given id number. | |
bool | used () const |
Returns true if this object has actally been used. | |
void | useMe () const |
Should be called to indicate that this object has actually been used. | |
tEGPtr | generator () const |
Return a pointer to the EventGenerator controlling the run. | |
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. | |
Public Member Functions inherited from ThePEG::InterfacedBase | |
virtual | ~InterfacedBase () |
The virtual (empty) destructor;. | |
string | fullName () const |
Returns the full name of this object including its path, e.g. | |
string | name () const |
Returns the name of this object, without the path. | |
string | path () const |
Returns the path to this object including the trailing '/'. | |
string | comment () const |
Returns a comment assigned to this object. | |
void | setup (istream &is) |
Read setup info from a standard istream is. | |
void | update () |
Calls the doupdate() function with recursion prevention. | |
void | init () |
Calls the doinit() function with recursion prevention. | |
virtual bool | preInitialize () const |
Return true if this object needs to be initialized before all other objects (except those for which this function also returns true). | |
void | initrun () |
Calls the doinitrun() function with recursion prevention. | |
void | finish () |
Calls the dofinish() function with recursion prevention. | |
void | touch () |
This function should be called every time something in this object has changed in a way that a sanity check with update() is needed. | |
void | reset () |
Set the state of this object to uninitialized. | |
void | clear () |
Calls reset() and unTouch(). | |
InitState | state () const |
Return the state of initialization of this object. | |
bool | locked () const |
Return true if the BaseRepository is not allowed to change the state of this object. | |
bool | touched () const |
Return true if the state of this object has been changed since the last call to update(). | |
virtual IBPtr | fullclone () const |
Return a full clone of this object possibly doing things to the clone to make it sane. | |
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. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
Public Member Functions inherited from ThePEG::Base | |
virtual | ~Base () |
The virtual destructor. | |
void | debug () const |
Print out debugging information for this object on std::cerr. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Return the reference count. | |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Constructor with name. | |
Named (const Named &)=default | |
Explicit default copy-constructor (too avoid compiler warnings) | |
const string & | name () const |
Return name. | |
bool | operator== (const Named &other) const |
Test for equality. | |
bool | operator< (const Named &other) const |
Lexicographical comparison. | |
Standard Interfaced functions. | |
string | theFilename |
Together with theSuffix, the name of the file where the resulting histograms will be stored. | |
string | theSuffix |
Together with theFilename, the name of the file where the resulting histograms will be stored. | |
string | theStoreType |
The format in which the histograms are stored in the output file. | |
AIDA::IAnalysisFactory * | theAnalysisFactory |
A pointer to the underlying AIDA::IAnalysisFactory object. | |
AIDA::ITree * | theTree |
A pointer to the underlying AIDA::ITree object. | |
AIDA::IHistogramFactory * | theHistogramFactory |
A pointer to the underlying AIDA::IHistogramFactory object. | |
AIDA::IDataPointSetFactory * | theDataSetFactory |
A pointer to the underlying AIDA::IDataPointSetFactory object. | |
set< IPtr > | clients |
A set of client objects which have required histograms from this factory. | |
static AbstractClassDescription< FactoryBase > | initFactoryBase |
The static object used to initialize the description of this class. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
FactoryBase & | operator= (const FactoryBase &)=delete |
The assignment operator is private and must never be called. | |
Access the underlying AIDA objects. | |
AIDA::IAnalysisFactory & | analysisFactory () const |
Access the underlying AIDA::IAnalysisFactory object. | |
AIDA::ITree & | tree () const |
Access the underlying AIDA::ITree object. | |
AIDA::IHistogramFactory & | histogramFactory () const |
A pointer to the underlying AIDA::IHistogramFactory object. | |
AIDA::IDataPointSetFactory & | dataSetFactory () const |
A pointer to the underlying AIDA::IDataPointSetFactory object. | |
void | mkdir (const string &path) |
Create a new directory in the underlying AIDA tree. | |
void | mkdirs (const string &path) |
Create a new directory in the underlying AIDA tree. | |
void | cd (const string &path) |
Set the default working directory for the underlying AIDA tree. | |
tH1DPtr | createHistogram1D (const string &path, int nb, double lo, double up) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory. | |
tH1DPtr | createHistogram1D (const string &path, const string &title, int nb, double lo, double up) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory. | |
tH1DPtr | createHistogram1D (const string &path, const string &title, const std::vector< double > &edges) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory. | |
tH2DPtr | createHistogram2D (const string &path, int nbx, double xlo, double xup, int nby, double ylo, double yup) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory. | |
tH2DPtr | createHistogram2D (const string &path, const string &title, int nbx, double xlo, double xup, int nby, double ylo, double yup) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory. | |
tH2DPtr | createHistogram2D (const string &path, const string &title, const std::vector< double > &xedges, const std::vector< double > &yedges) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory. | |
DataFiller | createDataSet (const string &path, const string &title, int dim) |
Create a IDataPointSet with the given path and title and containing points with the given number of dimensions, dim. | |
void | registerClient (tIPtr client) |
Used by a client object to indicate that he has required histograms from this factory. | |
void | analysisFactory (AIDA::IAnalysisFactory *x) |
Set the underlying AIDA::IAnalysisFactory object. | |
void | clear () |
Delete all associated AIDA 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 void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The unique ID. | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
Register the given object in the Repository with the given name in a subdirectory with the same name as this object. | |
template<typename PtrT > | |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object. | |
Interfaced () | |
Protected default constructor. | |
Interfaced (const string &newName) | |
Protected constructor taking a name as argument. | |
Interfaced (const Interfaced &i) | |
Protected copy-constructor. | |
void | setGenerator (tEGPtr generator) |
Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models. | |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
Read setup info from a standard istream is. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
virtual void | rebind (const TranslationMap &) |
Rebind pointer to other Interfaced objects. | |
virtual IBPtr | clone () const =0 |
Return a simple clone of this object. | |
InterfacedBase () | |
Protected default constructor. | |
InterfacedBase (string newName) | |
Protected constructor with the name given as argument. | |
InterfacedBase (const InterfacedBase &i) | |
Protected copy-constructor. | |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
Assignment. | |
const string & | name (const string &newName) |
Set new name. | |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
Register an Interfaced object with the Repository. | |
static void | registerRepository (IBPtr, string newName) |
Register an Interfaced object with the Repository, giving it a name. | |
Here is the documentation of the FactoryBase class.
This abstract class is used to wrap the interface to a particular AIDA-compliant histogram package to be used in AnalysisHandler
s in ThePEG. Concrete subclasses must implement the doinitrun() function to create an object of a class inheriting from AIDA::IAnalysisFactory and assign it with the analysisFactory(AIDA::IAnalysisFactory*) function before calling doinitrun() for the FactoryBase base class.
A FactoryBase object should be assigned to the EventGenerator object controlling a run, and AnalysisHandler
s should access it via the Generator with the generator() function.
Definition at line 47 of file FactoryBase.h.
typedef const AIDA::IDataPointSet* ThePEG::FactoryBase::tcDSetPtr |
Convenient typedef for pointer to const AIDA::IHistogram1D.
Definition at line 79 of file FactoryBase.h.
typedef const AIDA::IHistogram1D* ThePEG::FactoryBase::tcH1DPtr |
Convenient typedef for pointer to const AIDA::IHistogram1D.
Definition at line 59 of file FactoryBase.h.
typedef const AIDA::IHistogram2D* ThePEG::FactoryBase::tcH2DPtr |
Convenient typedef for pointer to const AIDA::IHistogram2D.
Definition at line 69 of file FactoryBase.h.
typedef AIDA::IDataPointSet* ThePEG::FactoryBase::tDSetPtr |
Convenient typedef for pointer to AIDA::IHistogram1D.
Definition at line 74 of file FactoryBase.h.
typedef AIDA::IHistogram1D* ThePEG::FactoryBase::tH1DPtr |
Convenient typedef for pointer to AIDA::IHistogram1D.
Definition at line 54 of file FactoryBase.h.
typedef AIDA::IHistogram2D* ThePEG::FactoryBase::tH2DPtr |
Convenient typedef for pointer to AIDA::IHistogram2D.
Definition at line 64 of file FactoryBase.h.
|
inline |
Access the underlying AIDA::IAnalysisFactory object.
Definition at line 230 of file FactoryBase.h.
References theAnalysisFactory.
|
inlineprotected |
Set the underlying AIDA::IAnalysisFactory object.
Note that this surrenders the controll of the factory to the FactoryBase object which will delete it in the finish() function. Typically this function should be called by a concrete subclass in the doinitrun() function before the doinitrun() function of this class is called.
Definition at line 406 of file FactoryBase.h.
References theAnalysisFactory.
|
protected |
Delete all associated AIDA objects.
Note that the tree is not explicitly committed.
DataFiller ThePEG::FactoryBase::createDataSet | ( | const string & | path, |
const string & | title, | ||
int | dim | ||
) |
Create a IDataPointSet with the given path and title and containing points with the given number of dimensions, dim.
The returned object is a DataFiller which can be used to facilitate the addition of data points to the set or be converted to a pointer to the created IDataPointSet.
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, |
const string & | title, | ||
const std::vector< double > & | edges | ||
) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). |
title | the title of the histogram. |
edges | A vector of bin edges specifying th bins. |
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, |
const string & | title, | ||
int | nb, | ||
double | lo, | ||
double | up | ||
) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). |
title | the title of the histogram. |
nb | the number of bins in the histogram. |
lo | the lower edge of the histogram. |
up | the upper edge of the histogram. |
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, |
int | nb, | ||
double | lo, | ||
double | up | ||
) |
Create and return a AIDA::IHistogram1D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). The title of the histogram will be set to the name part of the path. |
nb | the number of bins in the histogram. |
lo | the lower edge of the histogram. |
up | the upper edge of the histogram. |
tH2DPtr ThePEG::FactoryBase::createHistogram2D | ( | const string & | path, |
const string & | title, | ||
const std::vector< double > & | xedges, | ||
const std::vector< double > & | yedges | ||
) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). |
title | the title of the histogram. |
xedges | A vector of bin edges specifying the x-bins. |
yedges | A vector of bin edges specifying the y-bins. |
tH2DPtr ThePEG::FactoryBase::createHistogram2D | ( | const string & | path, |
const string & | title, | ||
int | nbx, | ||
double | xlo, | ||
double | xup, | ||
int | nby, | ||
double | ylo, | ||
double | yup | ||
) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). |
title | the title of the histogram. |
nbx | the number of x-bins in the histogram. |
xlo | the lower x-edge of the histogram. |
xup | the upper x-edge of the histogram. |
nby | the number of y-bins in the histogram. |
ylo | the lower y-edge of the histogram. |
yup | the upper y-edge of the histogram. |
tH2DPtr ThePEG::FactoryBase::createHistogram2D | ( | const string & | path, |
int | nbx, | ||
double | xlo, | ||
double | xup, | ||
int | nby, | ||
double | ylo, | ||
double | yup | ||
) |
Create and return a AIDA::IHistogram2D object in the underlying AIDA histogram factory.
Note that the histogram factory is responsible for deleting this histogram.
path | the full path of where the histogram should be placed in the underlying AIDA tree (on the form "/dir/subdir/histogramname"). Not that the directory part of the path typically must already exist in the tree. The directories can be created with mkdir(string) or mkdirs(string). The title of the histogram will be set to the name part of the path. |
nbx | the number of x-bins in the histogram. |
xlo | the lower x-edge of the histogram. |
xup | the upper x-edge of the histogram. |
nbx | the number of y-bins in the histogram. |
xlo | the lower y-edge of the histogram. |
xup | the upper y-edge of the histogram. |
|
protectedvirtual |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::LWHFactory.
|
inline |
Together with suffix(), the name of the file where the resulting histograms will be stored.
If empty, generator()->filename() will be used instead.
Definition at line 166 of file FactoryBase.h.
References theFilename.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
pure virtual |
Rescale the given histogram so that the integral over the bins gives one.
Implemented in ThePEG::LWHFactory.
|
pure virtual |
Rescale the given histogram so that the integral over the bins gives one.
Implemented in ThePEG::LWHFactory.
|
pure virtual |
Rescale the given histogram so that the integral over the bins will give the correct integrated cross section for the observable in the given unit.
Implemented in ThePEG::LWHFactory.
|
pure virtual |
Rescale the given histogram so that the integral over the bins will give the correct integrated cross section for the observable in the given unit.
Implemented in ThePEG::LWHFactory.
|
pure virtual |
Rescale the given histogram so that the integral over the bins gives the fraction of the total cross section generated which is contained in the bins.
Implemented in ThePEG::LWHFactory.
|
pure virtual |
Rescale the given histogram so that the integral over the bins gives the fraction of the total cross section generated which is contained in the bins.
Implemented in ThePEG::LWHFactory.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void ThePEG::FactoryBase::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void ThePEG::FactoryBase::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
void ThePEG::FactoryBase::registerClient | ( | tIPtr | client | ) |
Used by a client object to indicate that he has required histograms from this factory.
It is guaranteed that the clients finish() function is called before the underlying AIDA::ITree is committed and the AIDA::IHistogramFactory is deleted together with all histograms.
|
inline |
The format in which the histograms are stored in the output file.
Definition at line 177 of file FactoryBase.h.
References theStoreType.
|
inline |
Together with filename(), the name of the file where the resulting histograms will be stored.
Definition at line 172 of file FactoryBase.h.
References theSuffix.
|
private |
A set of client objects which have required histograms from this factory.
Definition at line 504 of file FactoryBase.h.
|
staticprivate |
The static object used to initialize the description of this class.
Indicates that this is an abstract class with persistent data.
Definition at line 512 of file FactoryBase.h.
|
private |
A pointer to the underlying AIDA::IAnalysisFactory object.
Definition at line 483 of file FactoryBase.h.
Referenced by analysisFactory().
|
private |
A pointer to the underlying AIDA::IDataPointSetFactory object.
Definition at line 498 of file FactoryBase.h.
|
private |
Together with theSuffix, the name of the file where the resulting histograms will be stored.
If empty, generator()->filename() will be used instead.
Definition at line 467 of file FactoryBase.h.
Referenced by filename().
|
private |
A pointer to the underlying AIDA::IHistogramFactory object.
Definition at line 493 of file FactoryBase.h.
|
private |
The format in which the histograms are stored in the output file.
Definition at line 478 of file FactoryBase.h.
Referenced by storeType().
|
private |
Together with theFilename, the name of the file where the resulting histograms will be stored.
Definition at line 473 of file FactoryBase.h.
Referenced by suffix().
|
private |
A pointer to the underlying AIDA::ITree object.
Definition at line 488 of file FactoryBase.h.