#include <FactoryBase.h>
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::IDataPointSet * | tDSetPtr |
Convenient typedef for pointer to AIDA::IHistogram1D. | |
typedef const AIDA::IDataPointSet * | tcDSetPtr |
Convenient typedef for pointer to const AIDA::IHistogram1D. | |
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 | 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 | normalizeToUnity (tH1DPtr histogram) const =0 |
Rescale the given histogram so that the integral over the bins gives one. | |
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. | |
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. | |
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 () |
The standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
void | analysisFactory (AIDA::IAnalysisFactory *x) |
Set the underlying AIDA::IAnalysisFactory object. | |
void | clear () |
Delete all associated AIDA objects. | |
Standard Interfaced functions. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
Private Member Functions | |
FactoryBase & | operator= (const FactoryBase &) |
The assignment operator is private and must never be called. | |
Private Attributes | |
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 Private Attributes | |
static AbstractClassDescription < FactoryBase > | initFactoryBase |
The static object used to initialize the description of this class. | |
Classes | |
class | DataFiller |
DataFiller is a helper class to facilitate adding data to a DataPointSet. More... |
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 48 of file FactoryBase.h.
const string& ThePEG::FactoryBase::filename | ( | ) | const [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 157 of file FactoryBase.h.
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, | |
int | nb, | |||
double | lo, | |||
double | up | |||
) | [inline] |
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. |
Definition at line 253 of file FactoryBase.h.
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, | |
const string & | title, | |||
int | nb, | |||
double | lo, | |||
double | up | |||
) | [inline] |
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. |
Definition at line 272 of file FactoryBase.h.
tH1DPtr ThePEG::FactoryBase::createHistogram1D | ( | const string & | path, | |
const string & | title, | |||
const std::vector< double > & | edges | |||
) | [inline] |
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. |
Definition at line 290 of file FactoryBase.h.
DataFiller ThePEG::FactoryBase::createDataSet | ( | const string & | path, | |
const string & | title, | |||
int | dim | |||
) | [inline] |
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.
Definition at line 302 of file FactoryBase.h.
void ThePEG::FactoryBase::registerClient | ( | tIPtr | client | ) | [inline] |
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.
Definition at line 313 of file FactoryBase.h.
void ThePEG::FactoryBase::analysisFactory | ( | AIDA::IAnalysisFactory * | x | ) | [inline, protected] |
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 329 of file FactoryBase.h.
void ThePEG::FactoryBase::clear | ( | ) | [protected] |
Delete all associated AIDA objects.
Note that the tree is not explicitly committed.
Reimplemented from ThePEG::InterfacedBase.
void ThePEG::FactoryBase::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::Interfaced.
Reimplemented in ThePEG::LWHFactory.
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. |
Reimplemented from ThePEG::Interfaced.
Reimplemented in ThePEG::LWHFactory.
static void ThePEG::FactoryBase::Init | ( | ) | [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.
Reimplemented from ThePEG::Interfaced.
Reimplemented in ThePEG::LWHFactory.
virtual void ThePEG::FactoryBase::doinitrun | ( | ) | [protected, virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::LWHFactory.
virtual void ThePEG::FactoryBase::dofinish | ( | ) | [protected, virtual] |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
FactoryBase& ThePEG::FactoryBase::operator= | ( | const FactoryBase & | ) | [private] |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
string ThePEG::FactoryBase::theFilename [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 390 of file FactoryBase.h.
AbstractClassDescription<FactoryBase> ThePEG::FactoryBase::initFactoryBase [static, private] |
The static object used to initialize the description of this class.
Indicates that this is an abstract class with persistent data.
Definition at line 435 of file FactoryBase.h.