Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BinnerAxisFactory Class Reference

#include <BinnerAxisFactory.h>

Inheritance diagram for BinnerAxisFactory:

Inheritance graph
[legend]
Collaboration diagram for BinnerAxisFactory:

Collaboration graph
[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 29 of file BinnerAxisFactory.h.

Public Member Functions

void add (BinnerAxis *)
 Adds a prototype object to the list of prototypes.
BinnerAxiscreate (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 ()
 Returns the list of available prototype names.
BinnerAxisprototype (const std::string &name) const
 Returns a pointer to a prototype with name name.

Static Public Member Functions

static BinnerAxisFactoryinstance ()
 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.
 Factory ()
 The default constructor.

Protected Attributes

std::vector< std::stringm_names
 The list of available types by names.
std::map< std::string, BinnerAxis * > 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 BinnerAxisFactorys_instance = 0
 A pointer to the singleton object.


Constructor & Destructor Documentation

BinnerAxisFactory::BinnerAxisFactory const BinnerAxisFactory  )  [private]
 

A private copy constructor to prevent copying.

BinnerAxisFactory::BinnerAxisFactory  )  [protected]
 

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

Definition at line 24 of file BinnerAxisFactory.cxx.

Referenced by instance().


Member Function Documentation

void Factory< BinnerAxis >::add BinnerAxis  )  [inherited]
 

Adds a prototype object to the list of prototypes.

Referenced by initialize().

BinnerAxis * Factory< BinnerAxis >::create const std::string name  )  [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.

bool Factory< BinnerAxis >::exists const std::string name  )  const [inherited]
 

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

Factory< BinnerAxis >::Factory  )  [protected, inherited]
 

The default constructor.

Since this constructor is protected, only derived classes of Factory can be created.

void BinnerAxisFactory::initialize  )  [private]
 

Initializes the factory with a set of default functions.

Definition at line 37 of file BinnerAxisFactory.cxx.

References Factory< BinnerAxis >::add().

Referenced by instance().

BinnerAxisFactory * BinnerAxisFactory::instance  )  [static]
 

Returns a pointer to the singleton instance.

Definition at line 28 of file BinnerAxisFactory.cxx.

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

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

const std::vector< std::string >& Factory< BinnerAxis >::names  )  [inherited]
 

Returns the list of available prototype names.

BinnerAxis * Factory< BinnerAxis >::prototype const std::string name  )  const [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.


Member Data Documentation

std::vector< std::string > Factory< BinnerAxis >::m_names [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 56 of file Factory.h.

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

A list of available types.

Definition at line 51 of file Factory.h.

BinnerAxisFactory * BinnerAxisFactory::s_instance = 0 [static, private]
 

A pointer to the singleton object.

Definition at line 22 of file BinnerAxisFactory.cxx.

Referenced by instance().


The documentation for this class was generated from the following files:
Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3