00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _FitterFactory_H_ 00015 #define _FitterFactory_H_ 00016 00017 #include "pattern/Factory.h" 00018 00019 namespace hippodraw { 00020 00021 class Fitter; 00022 00028 class MDL_HIPPOPLOT_API FitterFactory : public Factory <Fitter> 00029 { 00030 00031 private: 00032 00035 std::string m_default; 00036 00038 static FitterFactory * s_instance; 00039 00041 FitterFactory ( const FitterFactory & ); 00042 00044 void initialize (); 00045 00046 protected: 00047 00050 FitterFactory(); 00051 00052 public: 00053 00055 static FitterFactory * instance (); 00056 00061 void setDefault ( const std::string & name ); 00062 00065 const std::string & getDefault () const; 00066 00067 }; 00068 00069 } // namespace hippodraw 00070 00071 #endif // _FitterFactory_H_