1#ifndef OBSERVABLE_INTERFACE_PROXY_H
2#define OBSERVABLE_INTERFACE_PROXY_H
44 std::shared_ptr<ObservableInterface> obs,
45 std::vector<ParamId> p_specs,
46 std::vector<ParamId> eta_specs);
77 std::vector<BinnedObservableId>
get_obs_ids()
override;
85 const std::map<ParamId, double>& p,
86 const std::map<ParamId, double>& eta)
override;
94 std::shared_ptr<ObservableInterface> oi_;
95 std::shared_ptr<IStatParamOptimizerProxy> spop_;
96 std::vector<ParamId> p_specs_;
97 std::vector<ParamId> eta_specs_;
Abstract model interface used by the statistical layer.
Statistical-layer port for batched parameter edits and optimized commits.
High-level, user-facing entry point to compute flavor observables.
Statistics-layer adapter for optimized batched parameter updates.
Statistics-layer proxy for read-only access to parameters and observables.
Interface for a model capable of producing observable predictions.
Concrete IModel implementation backed by ObservableInterface.
std::shared_ptr< IModel > clone_for_worker() const override
Returns the number of currently active binned observables.
std::size_t n_observables() const override
Returns the number of currently active binned observables.
void prepare_for_prediction() override
Materialize model-side runtime state before repeated predictions.
std::unordered_set< ParamId > get_obs_deps(ObservableId id) override
Returns the model parameters required by an observable.
std::vector< BinnedObservableId > get_obs_ids() override
Returns the identifiers of the currently active observable bins.
void compute_observables() const
Forces computation of the currently configured observables.
std::map< ObservableId, std::vector< ObservableValue > > predict_optimized(const std::map< ParamId, double > &p, const std::map< ParamId, double > &eta) override
Computes model predictions for a given parameter point.
std::unique_ptr< IModelThreadGuard > force_decay_threads(size_t n_threads) override
Temporarily force internal model/decay thread counts.
bool can_clone_for_worker() const override
Whether clone_for_worker is implemented.