FitAlgorithmMap.h

00001 #ifndef FITALGORITHMMAP_H
00002 #define FITALGORITHMMAP_H
00003 
00004 #include <string>
00005 #include <map>
00006 #include <memory>
00007 #include <boost/utility.hpp>
00008 #include <boost/shared_ptr.hpp>
00009 #include "Sct/LogicErrors.h"
00010 #include "Sct/IoExceptions.h"
00011 
00012 namespace SctData {
00013 class ConfigurationVariable;
00014 }
00015 
00016 using namespace std;
00017 using namespace boost;
00018 using SctData::ConfigurationVariable;
00019 
00020 namespace SctFitter {
00021  
00022 class FitAlgorithm;    
00023     
00033 class FitAlgorithmMap : boost::noncopyable {
00034 public:
00038     static FitAlgorithmMap& instance();
00039     
00044     const FitAlgorithm& getAlgorithm(string variableName) const throw(Sct::InvalidArgument);
00045     
00052     bool setAlgorithm(string variableName, auto_ptr<FitAlgorithm>) throw();
00056     std::list<string> listAlgorithms() const;
00057 private:
00058     FitAlgorithmMap() {}
00059     map<string, shared_ptr<FitAlgorithm> > algMap;
00060 };
00061     
00062     
00063 }
00064 
00065 #endif //FITALGORITHMMAP_H

Generated on Mon Feb 6 14:01:20 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6