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 public:
17  static VertexFitterManager& Instance();
19  std::string describe(const std::string&) const;
20 
21  std::unique_ptr<AbstractConfFitter> get(const std::string&) const;
22  std::vector<std::string> getNames() const;
23 
25  VertexFitterManager* clone() const;
26 
27 private:
30  std::map<std::string, std::function<AbstractConfFitter*()> > theAbstractConfFitters;
31  std::map<std::string, std::string> theDescription;
32 };
33 
34 #endif // _VertexFitterManager_H_
std::map< std::string, std::function< AbstractConfFitter *()> > theAbstractConfFitters
std::vector< std::string > getNames() const
void registerFitter(const std::string &name, std::function< AbstractConfFitter *()> o, const std::string &description)
std::string describe(const std::string &) const
VertexFitterManager * clone() const
static VertexFitterManager & Instance()
std::map< std::string, std::string > theDescription