ThObsFactory.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef THOBSFACTORY_H
9 #define THOBSFACTORY_H
10 
11 #include "StandardModel.h"
12 #include <boost/functional/factory.hpp>
13 #include <boost/function.hpp>
14 #include <map>
15 
16 class ThObservable;
17 
26 class ThObsFactory {
27 public:
28 
29  ThObsFactory();
30 
31  ThObsFactory(const ThObsFactory& orig);
32 
33  virtual ~ThObsFactory()
34  {
35  };
36 
37  void addObsToFactory(const std::string name, boost::function<ThObservable*(const StandardModel&) >);
38 
46  ThObservable* CreateThMethod(const std::string& name, const StandardModel& model) const;
47 
48 
49 private:
50  std::map<std::string, boost::function<ThObservable* (const StandardModel &) > > obsThFactory;
51 };
52 
53 #endif /* THOBSFACTORY_H */
54 
A class for.
Definition: ThObsFactory.h:26
void addObsToFactory(const std::string name, boost::function< ThObservable *(const StandardModel &) >)
A class for a model prediction of an observable.
Definition: ThObservable.h:22
A model class for the Standard Model.
ThObservable * CreateThMethod(const std::string &name, const StandardModel &model) const
This method checks for the existence of an observable of a specific name in the map thobs and returns...
std::map< std::string, boost::function< ThObservable *(const StandardModel &) > > obsThFactory
Definition: ThObsFactory.h:50
virtual ~ThObsFactory()
Definition: ThObsFactory.h:33