Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
DecayParentConfigurable< DecayConfig > Struct Reference

Specialization for the default decay config type where configuration is ignored. More...

#include <DecayParent.h>

Inheritance diagram for DecayParentConfigurable< DecayConfig >:
Collaboration diagram for DecayParentConfigurable< DecayConfig >:

Public Member Functions

 DecayParentConfigurable (DecayId id, double matching_scale, double hadronic_scale, QCDOrder order, ObservablePortsConfig &ports)
 
void set_config (std::any) final override
 No-op configuration setter for default config.
 
- 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 void load_params ()=0
 Load and cache parameters needed by this decay.
 
virtual std::vector< ObservableValuecompute_observable (Observables obs)=0
 Compute an observable given a public observable enum.
 
virtual std::vector< ObservableValuecompute_observable (ObservableId obs)=0
 Compute an observable given an internal observable identifier.
 
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).
 
ObservablePortsConfigports
 Reference to the ports/configuration wiring this decay to the framework.
 
std::shared_ptr< IObsWilsonBuilderw_builder
 Wilson builder used to build/add Wilson groups for this decay.
 
std::shared_ptr< IObsWilsonProxyw_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< IObsQCDProxyiobs_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< ObsWilsonHelperw_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.
 

Detailed Description

Specialization for the default decay config type where configuration is ignored.

This specialization keeps the same API but implements set_config as a no-op, enabling decays that do not require configuration while still fitting in a generic "configurable" framework.

Definition at line 413 of file DecayParent.h.

Constructor & Destructor Documentation

◆ DecayParentConfigurable()

DecayParentConfigurable< DecayConfig >::DecayParentConfigurable ( DecayId  id,
double  matching_scale,
double  hadronic_scale,
QCDOrder  order,
ObservablePortsConfig ports 
)
inline

Definition at line 415 of file DecayParent.h.

Member Function Documentation

◆ set_config()

void DecayParentConfigurable< DecayConfig >::set_config ( std::any  )
inlinefinaloverridevirtual

No-op configuration setter for default config.

Implements DecayParent.

Definition at line 421 of file DecayParent.h.


The documentation for this struct was generated from the following file: