CMS 3D CMS Logo

VertexFitterManager.h
Go to the documentation of this file.
1 #ifndef _VertexFitterManager_H_
2 #define _VertexFitterManager_H_
3 
5 #include <map>
6 #include <string>
7 #include <vector>
8 #include <functional>
9 #include <memory>
10 
16 
17 public:
18  static VertexFitterManager & Instance();
20  const std::string & description );
21  std::string describe ( const std::string & ) const;
22 
23  std::unique_ptr<AbstractConfFitter> get ( const std::string & ) const;
24  std::vector<std::string> getNames() const;
25 
27  VertexFitterManager * clone() const;
28 
29 private:
32  std::map < std::string, std::function<AbstractConfFitter*()> > theAbstractConfFitters;
33  std::map < std::string, std::string > theDescription;
34 };
35 
36 #endif // _VertexFitterManager_H_
std::map< std::string, std::function< AbstractConfFitter *()> > theAbstractConfFitters
std::map< std::string, std::string > theDescription
void registerFitter(const std::string &name, std::function< AbstractConfFitter *()> o, const std::string &description)
VertexFitterManager * clone() const
std::vector< std::string > getNames() const
static VertexFitterManager & Instance()
std::string describe(const std::string &) const