Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
ObsPortsConfig.h
Go to the documentation of this file.
1#ifndef OBS_PORTS_CONFIG_H
2#define OBS_PORTS_CONFIG_H
3
4#include <memory>
5#include <utility>
6
8#include "IObsWilsonBuilder.h"
9#include "IObsCoreAPI.h"
10#include "IWilsonFreezer.h"
11#include "IObsQCDProxy.h"
12#include "ObsWilsonHelper.h"
13
58 ObservablePortsConfig(std::shared_ptr<IObsWilsonBuilder> iobswb,
61 std::shared_ptr<IObsQCDProxy> iobs_qcdp,
62 std::shared_ptr<IObsCoreAPI<bool>> iobs_use_marty,
64 std::shared_ptr<ObsWilsonHelper> iobs_whelper = nullptr) :
65 iobswb(std::move(iobswb)),
66 iobspp_sm(std::move(iobspp_sm)),
68 iobs_qcdp(std::move(iobs_qcdp)),
72 if (!this->iobs_whelper) {
73 this->iobs_whelper = std::make_shared<ObsWilsonHelper>();
74 }
75 }
76
78 std::shared_ptr<IObsWilsonBuilder> iobswb;
79
81 std::shared_ptr<IObsParameterProxy<ParamId, DataType, std::string, LhaID>> iobspp_sm;
82
84 std::shared_ptr<IObsParameterProxy<ParamId, DataType, std::string, LhaID>> iobspp_flav;
85
87 std::shared_ptr<IObsQCDProxy> iobs_qcdp;
88
90 std::shared_ptr<IObsCoreAPI<bool>> iobs_use_marty;
91
93 std::shared_ptr<IWilsonFreezer<WGroupId>> iobs_wfreezer;
94
96 std::shared_ptr<ObsWilsonHelper> iobs_whelper;
97
98};
99
100#endif
Minimal observable-layer "core API" concept.
Interface for read-only access to parameters used by observable computations.
Interface for accessing QCD-derived quantities from the observable layer.
Interface for building Wilson coefficient services in the observable layer.
Interface for freezing/unfreezing Wilson blocks in the dependency system.
Per-manager helper that manages the Wilson group lifecycle for observable computations.
Hash specialization for SymbolId<Tag>.
Definition BlockName.h:353
Dependency container (“ports”) for observable computations.
std::shared_ptr< IObsCoreAPI< bool > > iobs_use_marty
Core API flag indicating whether the MARTY backend is in use.
std::shared_ptr< ObsWilsonHelper > iobs_whelper
Per-manager Wilson lifecycle helper. Must not be shared accidentally across independent managers.
std::shared_ptr< IObsWilsonBuilder > iobswb
Builder used to (re)build Wilson coefficient groups on demand.
ObservablePortsConfig(std::shared_ptr< IObsWilsonBuilder > iobswb, std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > iobspp_sm, std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > iobspp_flav, std::shared_ptr< IObsQCDProxy > iobs_qcdp, std::shared_ptr< IObsCoreAPI< bool > > iobs_use_marty, std::shared_ptr< IWilsonFreezer< WGroupId > > iobs_wfreezer, std::shared_ptr< ObsWilsonHelper > iobs_whelper=nullptr)
Construct the ports configuration.
std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > iobspp_flav
Parameter proxy for flavor-specific parameters.
std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > iobspp_sm
Parameter proxy for SM / Wilson / observable parameters.
std::shared_ptr< IObsQCDProxy > iobs_qcdp
Proxy giving access to QCD running quantities (alpha_s, running masses, etc.).
std::shared_ptr< IWilsonFreezer< WGroupId > > iobs_wfreezer
Freezer allowing Wilson groups to be frozen/unfrozen at the observable level.