FIMS  v0.10.0
Loading...
Searching...
No Matches
fims_popdy::SizeDistributionProviderBase< Type > Class Template Referenceabstract

Base interface for objects that provide population-level size distributions. More...

#include <size_distribution_provider_base.hpp>

Inheritance diagram for fims_popdy::SizeDistributionProviderBase< Type >:
fims_popdy::GrowthDerivedSizeProvider< Type >

Public Member Functions

virtual const SizeGrid * TryGetSizeGrid () const =0
 Return the biological size grid used by this provider.
 
virtual void SetPopulationSizeGrid (const SizeGrid *size_grid)=0
 Configure the provider to use the canonical population size grid.
 
virtual void SetPopulationDimensions (std::size_t n_years, std::size_t n_ages)=0
 Configure the provider dimensions for prepared size products.
 
virtual void PrepareSizeProducts ()=0
 Prepare size products for the current model state.
 
virtual void InvalidatePreparedSizeProducts ()=0
 Invalidate any prepared size state held by this provider.
 
virtual const Type & MeanLAA (std::size_t year_index, std::size_t age_index) const =0
 Read prepared mean length-at-age.
 
virtual const Type & SdLAA (std::size_t year_index, std::size_t age_index) const =0
 Read prepared spread of length-at-age.
 
virtual const Type & ProbSize (std::size_t year_index, std::size_t age_index, std::size_t size_bin_index) const =0
 Read prepared age-to-size probability on the population grid.
 

Detailed Description

template<typename Type>
class fims_popdy::SizeDistributionProviderBase< Type >

Base interface for objects that provide population-level size distributions.

Implementations of this interface prepare and expose pooled population-level size products on a biological size grid. The interface is intentionally separate from catch-at-age so other FIMS modules can consume size products without depending on CAA-specific logic.

Template Parameters
TypeNumeric type used for prepared size products.

Member Function Documentation

◆ InvalidatePreparedSizeProducts()

template<typename Type >
virtual void fims_popdy::SizeDistributionProviderBase< Type >::InvalidatePreparedSizeProducts ( )
pure virtual

Invalidate any prepared size state held by this provider.

This is called when upstream biological inputs or the canonical population size grid change and previously prepared size products should no longer be reused.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ MeanLAA()

template<typename Type >
virtual const Type & fims_popdy::SizeDistributionProviderBase< Type >::MeanLAA ( std::size_t  year_index,
std::size_t  age_index 
) const
pure virtual

Read prepared mean length-at-age.

Parameters
year_indexYear index.
age_indexAge index.
Returns
Read-only mean length-at-age value.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ PrepareSizeProducts()

template<typename Type >
virtual void fims_popdy::SizeDistributionProviderBase< Type >::PrepareSizeProducts ( )
pure virtual

Prepare size products for the current model state.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ ProbSize()

template<typename Type >
virtual const Type & fims_popdy::SizeDistributionProviderBase< Type >::ProbSize ( std::size_t  year_index,
std::size_t  age_index,
std::size_t  size_bin_index 
) const
pure virtual

Read prepared age-to-size probability on the population grid.

Parameters
year_indexYear index.
age_indexAge index.
size_bin_indexSize-bin index.
Returns
Read-only age-to-size probability value.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ SdLAA()

template<typename Type >
virtual const Type & fims_popdy::SizeDistributionProviderBase< Type >::SdLAA ( std::size_t  year_index,
std::size_t  age_index 
) const
pure virtual

Read prepared spread of length-at-age.

Parameters
year_indexYear index.
age_indexAge index.
Returns
Read-only spread of length-at-age value.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ SetPopulationDimensions()

template<typename Type >
virtual void fims_popdy::SizeDistributionProviderBase< Type >::SetPopulationDimensions ( std::size_t  n_years,
std::size_t  n_ages 
)
pure virtual

Configure the provider dimensions for prepared size products.

Parameters
n_yearsNumber of modeled years represented.
n_agesNumber of modeled ages represented.

Providers use these dimensions together with the canonical population size grid to size any prepared population-level size products.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ SetPopulationSizeGrid()

template<typename Type >
virtual void fims_popdy::SizeDistributionProviderBase< Type >::SetPopulationSizeGrid ( const SizeGrid *  size_grid)
pure virtual

Configure the provider to use the canonical population size grid.

Parameters
size_gridCanonical population-level biological size grid.

Providers should prepare any grid-based size products on this grid rather than creating an independent biological size definition.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.

◆ TryGetSizeGrid()

template<typename Type >
virtual const SizeGrid * fims_popdy::SizeDistributionProviderBase< Type >::TryGetSizeGrid ( ) const
pure virtual

Return the biological size grid used by this provider.

Returns
Pointer to the biological size grid, or nullptr if unavailable.

Implemented in fims_popdy::GrowthDerivedSizeProvider< Type >.


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