a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
ModelFactory.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 
9 #ifndef MODELFACTORY_H
10 #define MODELFACTORY_H
11 
12 #include "StandardModel.h"
13 #include <boost/functional/factory.hpp>
14 #include <boost/function.hpp>
15 #include <map>
16 
25 class ModelFactory {
26 public:
27  ModelFactory();
28  ModelFactory(const ModelFactory& orig);
29  virtual ~ModelFactory(){};
30 
31  void addModelToFactory (const std::string name, boost::function<StandardModel*() >);
32 
33  StandardModel* CreateModel(const std::string& ModelName);
34 private:
35  std::map<std::string, boost::function<StandardModel* ()> > modelFactory;
36 
37 };
38 
39 #endif /* MODELFACTORY_H */
40 
ModelFactory
A class for.
Definition: ModelFactory.h:25
ModelFactory::~ModelFactory
virtual ~ModelFactory()
Definition: ModelFactory.h:29
ModelFactory::addModelToFactory
void addModelToFactory(const std::string name, boost::function< StandardModel *() >)
Definition: ModelFactory.cpp:91
StandardModel.h
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
ModelFactory::modelFactory
std::map< std::string, boost::function< StandardModel *()> > modelFactory
Definition: ModelFactory.h:35
ModelFactory::ModelFactory
ModelFactory()
Definition: ModelFactory.cpp:42
ModelFactory::CreateModel
StandardModel * CreateModel(const std::string &ModelName)
Definition: ModelFactory.cpp:96