a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
ThObsFactory.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 #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, 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 
ThObsFactory::~ThObsFactory
virtual ~ThObsFactory()
Definition: ThObsFactory.h:33
StandardModel.h
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
ThObsFactory
A class for.
Definition: ThObsFactory.h:26
ThObsFactory::addObsToFactory
void addObsToFactory(const std::string name, boost::function< ThObservable *(const StandardModel &) >)
Definition: ThObsFactory.cpp:4617
ThObsFactory::ThObsFactory
ThObsFactory()
Definition: ThObsFactory.cpp:29
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
ThObsFactory::obsThFactory
std::map< std::string, boost::function< ThObservable *(const StandardModel &) > > obsThFactory
Definition: ThObsFactory.h:50
ThObsFactory::CreateThMethod
ThObservable * CreateThMethod(const std::string &name, StandardModel &model) const
This method checks for the existence of an observable of a specific name in the map thobs and returns...
Definition: ThObsFactory.cpp:4623