Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SpectrumFactoryTable Class Reference

#include <SpectrumFactoryTable.h>

List of all members.

Public Methods

void addFactory (std::string name, const ISpectrumFactory *factory)
ISpectruminstantiate (const std::string &name, const std::string &params) const
 get a new Spectrum object by name with optional parameter list. More...

ISpectruminstantiate (const std::string &name) const
std::list< std::string > spectrumList () const

Static Public Methods

SpectrumFactoryTable * instance ()

Private Methods

 SpectrumFactoryTable ()

Static Private Attributes

SpectrumFactoryTable * s_instance = 0


Constructor & Destructor Documentation

SpectrumFactoryTable::SpectrumFactoryTable   [inline, private]
 

Definition at line 41 of file SpectrumFactoryTable.h.

00041 {s_instance=this;}


Member Function Documentation

void SpectrumFactoryTable::addFactory std::string    name,
const ISpectrumFactory   factory
[inline]
 

Definition at line 24 of file SpectrumFactoryTable.h.

Referenced by FluxMgr::addFactory(), Flux::addFactory(), and SpectrumFactory::SpectrumFactory().

00024                                                                       {
00025         insert(std::make_pair<std::string, const ISpectrumFactory*>(name, factory));
00026     }

SpectrumFactoryTable* SpectrumFactoryTable::instance   [inline, static]
 

Definition at line 32 of file SpectrumFactoryTable.h.

References s_instance.

Referenced by FluxMgr::addFactory(), Flux::addFactory(), FluxSource::FluxSource(), listSpectra(), rootplot::listSpectra(), main(), FluxSvc::source(), FluxMgr::source(), and SpectrumFactory::SpectrumFactory().

00032                                            {
00033         return (s_instance==0)? new SpectrumFactoryTable : s_instance;
00034     }

ISpectrum * SpectrumFactoryTable::instantiate const std::string &    name const
 

Definition at line 17 of file SpectrumFactoryTable.cxx.

00018 {
00019     const_iterator returnloc = find(name);
00020     std::string params; // dummy 
00021     return returnloc==end() ? 0: (*returnloc).second->instantiate(params);
00022 }

ISpectrum * SpectrumFactoryTable::instantiate const std::string &    name,
const std::string &    params
const
 

get a new Spectrum object by name with optional parameter list.

Definition at line 11 of file SpectrumFactoryTable.cxx.

Referenced by FluxSource::FluxSource(), and FluxMgr::source().

00013 {
00014     const_iterator returnloc = find(name);
00015     return returnloc==end() ? 0: (*returnloc).second->instantiate(params);
00016 }

std::list< std::string > SpectrumFactoryTable::spectrumList   const
 

Definition at line 25 of file SpectrumFactoryTable.cxx.

Referenced by FluxSource::FluxSource().

00026 {
00027     
00028     std::list<std::string>  outstr;
00029     for( const_iterator tableiter = begin(); tableiter!=end() ; ++tableiter){
00030         outstr.push_back(tableiter->first);
00031     }
00032     return outstr;
00033     
00034 }


Member Data Documentation

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

Definition at line 9 of file SpectrumFactoryTable.cxx.

Referenced by instance().


The documentation for this class was generated from the following files:
Generated on Wed Oct 16 14:01:36 2002 by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001