00001 #ifndef _VertexFitterManager_H_ 00002 #define _VertexFitterManager_H_ 00003 00004 #include "RecoVertex/ConfigurableVertexReco/interface/AbstractConfFitter.h" 00005 #include <map> 00006 #include <string> 00007 00012 class VertexFitterManager { 00013 00014 public: 00015 static VertexFitterManager & Instance(); 00016 void registerFitter ( const std::string & name, AbstractConfFitter * o, 00017 const std::string & description ); 00018 std::string describe ( const std::string & ); 00019 00020 AbstractConfFitter * get ( const std::string & ); 00021 std::map < std::string, AbstractConfFitter * > get (); 00022 00023 ~VertexFitterManager(); 00024 VertexFitterManager * clone() const; 00025 00026 private: 00027 VertexFitterManager ( const VertexFitterManager & ); 00028 VertexFitterManager (); 00029 std::map < std::string, AbstractConfFitter * > theAbstractConfFitters; 00030 std::map < std::string, std::string > theDescription; 00031 }; 00032 00033 #endif // _VertexFitterManager_H_