BinsFactory Class Reference

#include <BinsFactory.h>

Inheritance diagram for BinsFactory:

Inheritance graph
Factory\< hippodraw::BinsBase \>
[legend]
Collaboration diagram for BinsFactory:

Collaboration graph
Factory\< hippodraw::BinsBase \>
[legend]

List of all members.


Detailed Description

A Factory singleton class for creating objects whose class derives from BinsBase.

These classes are used by BinningProjector objects to accumulate data into bins. They differ in how they create Projected Value objects. Some may take the accumulated total as the value while other may take the mean of the accumulation.

Author:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Definition at line 31 of file BinsFactory.h.


Public Member Functions

void add (Type *)
 Adds a prototype object to the list of prototypes.
Type * create (const std::string &name)
 Creates a new object from a prototype named name.
bool exists (const std::string &name) const
 Returns true if prototype with name name exists in the factory, otherwise returns false.
const std::vector
< std::string > & 
names () const
 Returns the list of available prototype names.
Type * prototype (const std::string &name) const
 Returns a pointer to a prototype with name name.
void remove (const std::string &name)
 Removes the named prototype object from the list of prototypes.

Static Public Member Functions

static BinsFactoryinstance ()
 Returns a pointer to the singleton instance.

Protected Member Functions

 BinsFactory ()
 A default constructor for prevent creation except by the itself or the derived classes.

Protected Attributes

std::vector
< std::string > 
m_names
 The list of available types by names.
std::map
< std::string, Type * > 
m_types
 A list of available types.

Private Member Functions

 BinsFactory (const BinsFactory &)
 A private copy constructor to prevent copying.
void initialize ()
 Initializes the factory with a set of default functions.

Static Private Attributes

static BinsFactorys_instance = 0
 A pointer to the singleton object.

Constructor & Destructor Documentation

BinsFactory ( const BinsFactory  )  [private]

A private copy constructor to prevent copying.

BinsFactory (  )  [protected]

A default constructor for prevent creation except by the itself or the derived classes.

Definition at line 29 of file BinsFactory.cxx.

Referenced by BinsFactory::instance().


Member Function Documentation

void add ( Type *  obj  )  [inline, inherited]

Adds a prototype object to the list of prototypes.

Definition at line 116 of file Factory.h.

References Factory::m_types.

Referenced by hippodraw::Python::export_FunctionFactory().

Type * create ( const std::string &  name  )  [inline, inherited]

Creates a new object from a prototype named name.

If found, returns a new object by invoking the clone() member function of the prototype. If not found, throws a FactoryException object with the name not found.

Definition at line 160 of file Factory.h.

References Factory::prototype().

Referenced by CutController::createCut(), DataRepController::createDataRep(), PointRepXML::createObject(), BinsBaseXML::createObject(), BinnerAxisXML::createObject(), PlotterBaseXML::createPlotter(), DisplayController::createTextDataRep(), hippodraw::Python::export_FitterFactory(), hippodraw::Python::export_FunctionFactory(), hippodraw::Python::export_PointRepFactory(), Hist1DProjImp::Hist1DProjImp(), Hist2DProjImp::Hist2DProjImp(), and Profile2DProjector::Profile2DProjector().

bool exists ( const std::string &  name  )  const [inline, inherited]

Returns true if prototype with name name exists in the factory, otherwise returns false.

Definition at line 136 of file Factory.h.

References Factory::m_types.

Referenced by FitterFactory::setDefault().

void initialize (  )  [private]

Initializes the factory with a set of default functions.

Definition at line 42 of file BinsFactory.cxx.

Referenced by BinsFactory::instance().

BinsFactory * instance (  )  [static]

Returns a pointer to the singleton instance.

Definition at line 33 of file BinsFactory.cxx.

References BinsFactory::BinsFactory(), BinsFactory::initialize(), and BinsFactory::s_instance.

Referenced by BinsBaseXML::createObject(), Hist1DProjImp::Hist1DProjImp(), Hist2DProjImp::Hist2DProjImp(), Profile2DProjector::Profile2DProjector(), and ProfileProjector::ProfileProjector().

const std::vector< std::string > & names (  )  const [inline, inherited]

Returns the list of available prototype names.

Definition at line 170 of file Factory.h.

References Factory::m_names, and Factory::m_types.

Referenced by hippodraw::Python::export_FitterFactory(), hippodraw::Python::export_FunctionFactory(), hippodraw::Python::export_PointRepFactory(), FitterFactory::getDefault(), and DisplayController::getTextTypes().

Type * prototype ( const std::string &  name  )  const [inline, inherited]

Returns a pointer to a prototype with name name.

If a prototype with name doesn't exit, throws a FactoryException object with the name not found.

Definition at line 148 of file Factory.h.

References Factory::m_types.

Referenced by DataRepController::bindingOptions(), Factory::create(), DisplayController::createDisplay(), TransformFactory::createTransform(), TransformFactory::createXY(), TransformFactory::createXYZ(), and DisplayController::isCompatible().

void remove ( const std::string &  name  )  [inline, inherited]

Removes the named prototype object from the list of prototypes.

Definition at line 125 of file Factory.h.

References Factory::m_types.


Member Data Documentation

std::vector< std::string > m_names [mutable, protected, inherited]

The list of available types by names.

This list should be identical to the list of m_types keys. It is updated when the member function names is called.

Definition at line 58 of file Factory.h.

Referenced by Factory::names().

std::map< std::string, Type * > m_types [protected, inherited]

A list of available types.

Definition at line 53 of file Factory.h.

Referenced by Factory::add(), Factory::exists(), Factory::names(), Factory::prototype(), Factory::remove(), and Factory::~Factory().

BinsFactory * s_instance = 0 [static, private]

A pointer to the singleton object.

Definition at line 37 of file BinsFactory.h.

Referenced by BinsFactory::instance().


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen