BinnerAxisFactory Class Reference

#include <BinnerAxisFactory.h>

Inheritance diagram for BinnerAxisFactory:

Inheritance graph
Factory\< hippodraw::BinnerAxis \>
[legend]
Collaboration diagram for BinnerAxisFactory:

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

List of all members.


Detailed Description

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

These classes are used by BinsBase objects to calculate a bin index. They differ in how the bin edges are determined. An example would be equal width bins which would be used by a simple histogram. However, the bin sizes do not have to be equal width.

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

Definition at line 31 of file BinnerAxisFactory.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
BinnerAxisFactory
instance ()
 Returns a pointer to the singleton instance.

Protected Member Functions

 BinnerAxisFactory ()
 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

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

Static Private Attributes

static
BinnerAxisFactory
s_instance = 0
 A pointer to the singleton object.

Constructor & Destructor Documentation

BinnerAxisFactory ( const BinnerAxisFactory  )  [private]

A private copy constructor to prevent copying.

BinnerAxisFactory (  )  [protected]

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

Definition at line 26 of file BinnerAxisFactory.cxx.

Referenced by BinnerAxisFactory::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 39 of file BinnerAxisFactory.cxx.

Referenced by BinnerAxisFactory::instance().

BinnerAxisFactory * instance (  )  [static]

Returns a pointer to the singleton instance.

Definition at line 30 of file BinnerAxisFactory.cxx.

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

Referenced by BinnerAxisXML::createObject(), Hist1DProjImp::Hist1DProjImp(), Hist2DProjImp::Hist2DProjImp(), Profile2DProjector::Profile2DProjector(), ProfileProjector::ProfileProjector(), and DisplayController::setBinner().

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().

BinnerAxisFactory * s_instance = 0 [static, private]

A pointer to the singleton object.

Definition at line 37 of file BinnerAxisFactory.h.

Referenced by BinnerAxisFactory::instance().


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