|
Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
|
DecayParent implementation backed by user-provided lambdas. More...
#include <LambdaDecay.h>


Public Member Functions | |
| LambdaDecay (DecayId id, LambdaDecayConfig config, ObservablePortsConfig &ports) | |
| Construct a lambda-backed decay from a dynamic id and config. | |
| void | load_params () override |
| Run the user-defined loading/cache hook, if any. | |
| std::vector< ObservableValue > | compute_observable (Observables obs) override |
| Compute a builtin observable by converting it to ObservableId. | |
| std::vector< ObservableValue > | compute_observable (ObservableId obs) override |
| Compute a runtime/custom observable by dispatching to its lambda. | |
| void | set_config (std::any cfg) override |
| Store and optionally handle a type-erased user config. | |
| const LambdaDecayConfig & | config () const |
| Access the immutable LambdaDecayConfig. | |
| const std::any & | user_config () const |
| Access the last std::any payload passed to set_config(). | |
| bool | has_user_config () const |
| True if set_config() has received a payload. | |
| IObsWilsonProxy & | W () |
| Access the Wilson proxy after enable(). | |
| std::shared_ptr< IObsWilsonProxy > | wilson_proxy () |
| Access the Wilson proxy as a shared pointer after enable(). | |
| IObsParameterProxy< ParamId, DataType, std::string, LhaID > & | SM () |
| Access the SM/BSM parameter proxy used by decays. | |
| IObsParameterProxy< ParamId, DataType, std::string, LhaID > & | FLAVOR () |
| Access the FLAVOR parameter proxy from the ports configuration. | |
| IObsQCDProxy & | QCD () |
| Access the QCD proxy used by decays. | |
| ObservablePortsConfig & | observable_ports () |
| Access all observable ports for advanced use. | |
| std::optional< std::vector< std::pair< double, double > > > | current_bins () |
| Return the current optional bin list. | |
Public Member Functions inherited from DecayParent | |
| virtual | ~DecayParent ()=default |
| DecayParent (DecayId custom_id, double matching_scale, double hadronic_scale, QCDOrder order, ObservablePortsConfig &ports) | |
| Construct a decay module and bind it to the observable ports. | |
| void | bind_wilson_builder (std::shared_ptr< IObsWilsonBuilder > &wilson_builder) |
| Bind a Wilson builder to this decay. | |
| void | enable () |
| Enable the decay module (build Wilson groups and load parameters). | |
| void | disable () |
| Disable the decay module. | |
| void | set_order (QCDOrder new_order) |
| Set the QCD order for this decay (one-shot policy). | |
| virtual std::any | get_config () const |
| Return the current decay configuration when the decay has one. | |
| virtual void | set_n_threads (size_t n_threads) |
| Set the number of worker threads used by decays that support parallel cache filling. | |
| virtual size_t | get_n_threads () const |
| Return the currently configured worker-thread count. | |
| virtual bool | supports_thread_config () const |
| Whether this decay supports runtime thread configuration. | |
| void | set_bins (std::vector< std::pair< double, double > > new_bins) |
| Set the binning for the observables related to this decay. | |
| void | add_bin (std::pair< double, double > new_bin) |
| Adds a bin to the observables related to this decay. | |
| std::optional< std::vector< std::pair< double, double > > > | get_bins () |
| Returns the current binning of the decay. | |
| DecayId | get_id () |
| Return the decay identifier. | |
| QCDOrder | get_order () const |
| Return the currently configured QCD order for this decay. | |
| bool | is_enabled () const |
| Return whether the decay has already been enabled. | |
| bool | is_binned () const |
| Return whether this decay has at least one observable requiring q² bins. | |
| virtual bool | is_observable_binned (ObservableId) const |
| Return whether one observable of this decay requires q² bins. | |
| virtual bool | is_observable_binned (Observables obs) const |
| Convenience overload for public observable enum ids. | |
Additional Inherited Members | |
Protected Member Functions inherited from DecayParent | |
| QCDOrder | check_max_order (QCDOrder order) const |
| Clamp a requested QCD order to this decay's supported maximum. | |
Protected Attributes inherited from DecayParent | |
| QCDOrder | max_order = QCDOrder::LO |
| Maximum QCD order supported by this decay module (default: LO). | |
| ObservablePortsConfig & | ports |
| Reference to the ports/configuration wiring this decay to the framework. | |
| std::shared_ptr< IObsWilsonBuilder > | w_builder |
| Wilson builder used to build/add Wilson groups for this decay. | |
| std::shared_ptr< IObsWilsonProxy > | w_proxy |
| Wilson proxy used at compute-time to query coefficients (matching/run). | |
| std::shared_ptr< IObsCoreAPI< bool > > | use_marty |
| Port exposing whether the MARTY backend is active. | |
| std::shared_ptr< IObsParameterProxy< ParamId, DataType, std::string, LhaID > > | p |
| Parameter proxy for SM-like quantities used by the decay (may be SM/BSM depending on wiring). | |
| std::shared_ptr< IObsQCDProxy > | iobs_qcdp |
| QCD proxy (alpha_s, running masses, constants...). | |
| std::shared_ptr< IWilsonFreezer< WGroupId > > | iobs_wfreezer |
| Freezer to freeze/unfreeze Wilson blocks when they are not needed by active decays. | |
| std::shared_ptr< ObsWilsonHelper > | w_helper |
| Per-manager Wilson lifecycle helper. | |
| WilsonBuildConfig | w_config {} |
| Wilson build configuration used when enabling this decay (scales, order, groups). | |
| bool | enabled {false} |
| Whether the decay is enabled (i.e. Wilson groups built and parameters loaded). | |
| bool | binned {false} |
| Whether this decay requires q² bins before its observables can be computed. | |
| DecayId | id |
| Unique decay identifier. | |
| std::optional< std::vector< std::pair< double, double > > > | bins |
| Optional q^2 bins. | |
DecayParent implementation backed by user-provided lambdas.
LambdaDecay is intended for dev workflows, plugins and quick phenomenology extensions where adding a full hand-written DecayParent subclass would be too heavy. It still follows the normal framework lifecycle:
The class does not bypass the mapper layer. A LambdaDecayConfig must first be registered through ObservableInterface::add_lambda_decay(), which creates the DecayId, ObservableId values and DecayMapper links consistently.
Definition at line 198 of file LambdaDecay.h.
|
inline |
Construct a lambda-backed decay from a dynamic id and config.
| id | Dynamic decay id already registered in DecayMapper. |
| config | Runtime decay configuration. |
| ports | Observable ports shared with ObsManager. |
Definition at line 207 of file LambdaDecay.h.
|
inlineoverridevirtual |
Compute a runtime/custom observable by dispatching to its lambda.
Implements DecayParent.
Definition at line 245 of file LambdaDecay.h.
|
inlineoverridevirtual |
Compute a builtin observable by converting it to ObservableId.
Implements DecayParent.
Definition at line 238 of file LambdaDecay.h.
|
inline |
Access the immutable LambdaDecayConfig.
Definition at line 265 of file LambdaDecay.h.
|
inline |
Return the current optional bin list.
Definition at line 302 of file LambdaDecay.h.
|
inline |
Access the FLAVOR parameter proxy from the ports configuration.
Definition at line 293 of file LambdaDecay.h.
|
inline |
True if set_config() has received a payload.
Definition at line 271 of file LambdaDecay.h.
|
inlineoverridevirtual |
Run the user-defined loading/cache hook, if any.
Implements DecayParent.
Definition at line 229 of file LambdaDecay.h.
|
inline |
Access all observable ports for advanced use.
Definition at line 299 of file LambdaDecay.h.
|
inline |
Access the QCD proxy used by decays.
Definition at line 296 of file LambdaDecay.h.
|
inlineoverridevirtual |
Store and optionally handle a type-erased user config.
Implements DecayParent.
Definition at line 257 of file LambdaDecay.h.
|
inline |
Access the SM/BSM parameter proxy used by decays.
Definition at line 290 of file LambdaDecay.h.
|
inline |
Access the last std::any payload passed to set_config().
Definition at line 268 of file LambdaDecay.h.
|
inline |
Access the Wilson proxy after enable().
Definition at line 274 of file LambdaDecay.h.
|
inline |
Access the Wilson proxy as a shared pointer after enable().
Definition at line 282 of file LambdaDecay.h.