Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
FitterFactory Class Reference

A Factory singleton class for creating objects whose class derives from Fitter. More...

#include <FitterFactory.h>

Inheritance diagram for FitterFactory:
Inheritance graph
[legend]
Collaboration diagram for FitterFactory:
Collaboration graph
[legend]

Public Member Functions

void add (Fitter *)
 Adds a prototype object to the list of prototypes.
Fittercreate (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::string & getDefault () const
 Returns the default Fitter.
const std::vector< std::string > & names () const
 Returns the list of available prototype names.
Fitterprototype (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.
void setDefault (const std::string &name)
 Sets the application's default Fitter.

Static Public Member Functions

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

Protected Member Functions

 FitterFactory ()
 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, Fitter * > m_types
 A list of available types.

Private Member Functions

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

Private Attributes

std::string m_default
 The application's default fitter, if non empty.

Static Private Attributes

static FitterFactorys_instance = 0
 A pointer to the singleton object.

Detailed Description

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

Author
Paul F. Kunz Paul_.nosp@m.Kunz.nosp@m.@slac.nosp@m..sta.nosp@m.nford.nosp@m..edu

Definition at line 28 of file FitterFactory.h.

Constructor & Destructor Documentation

FitterFactory ( const FitterFactory )
private

A private copy constructor to prevent copying.

FitterFactory ( )
protected

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

Definition at line 46 of file FitterFactory.cxx.

Referenced by FitterFactory::instance().

Member Function Documentation

void add ( Fitter )
inherited

Adds a prototype object to the list of prototypes.

Referenced by FitterFactory::initialize().

Fitter * 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 exists ( const std::string &  name) const
inherited

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

Referenced by FitterFactory::setDefault().

const string & getDefault ( ) const

Returns the default Fitter.

Definition at line 109 of file FitterFactory.cxx.

References FitterFactory::m_default, and Factory< Fitter >::names().

void initialize ( )
private

Initializes the factory with a set of default functions.

Definition at line 60 of file FitterFactory.cxx.

References Factory< Fitter >::add().

Referenced by FitterFactory::instance().

FitterFactory * instance ( )
static

Returns a pointer to the singleton instance.

Definition at line 50 of file FitterFactory.cxx.

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

const std::vector< std::string >& names ( ) const
inherited

Returns the list of available prototype names.

Referenced by FitterFactory::getDefault().

Fitter * 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.

void remove ( const std::string &  name)
inherited

Removes the named prototype object from the list of prototypes.

void setDefault ( const std::string &  name)

Sets the application's default Fitter.

Sets the application's default fitter, if the name exists, otherwise throws a std::runtime_error exception.

Definition at line 93 of file FitterFactory.cxx.

References Factory< Fitter >::exists(), and FitterFactory::m_default.

Member Data Documentation

std::string m_default
private

The application's default fitter, if non empty.

Definition at line 35 of file FitterFactory.h.

Referenced by FitterFactory::getDefault(), and FitterFactory::setDefault().

std::vector< std::string > m_names
mutableprotectedinherited

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.

std::map< std::string, Fitter * > m_types
protectedinherited

A list of available types.

Definition at line 53 of file Factory.h.

FitterFactory * s_instance = 0
staticprivate

A pointer to the singleton object.

Definition at line 38 of file FitterFactory.h.

Referenced by FitterFactory::instance().


The documentation for this class was generated from the following files:

Generated for HippoDraw Class Library by doxygen