9#ifndef FIMS_POPULATION_DYNAMICS_SIZE_DISTRIBUTION_PROVIDER_BASE_HPP
10#define FIMS_POPULATION_DYNAMICS_SIZE_DISTRIBUTION_PROVIDER_BASE_HPP
29template <
typename Type>
59 std::size_t n_ages) = 0;
Base interface for objects that provide population-level size distributions.
Definition size_distribution_provider_base.hpp:30
virtual void SetPopulationSizeGrid(const SizeGrid *size_grid)=0
Configure the provider to use the canonical population size grid.
virtual const Type & SdLAA(std::size_t year_index, std::size_t age_index) const =0
Read prepared spread of length-at-age.
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 & 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.
virtual const Type & MeanLAA(std::size_t year_index, std::size_t age_index) const =0
Read prepared mean length-at-age.
virtual const SizeGrid * TryGetSizeGrid() const =0
Return the biological size grid used by this provider.
The population dynamics of FIMS.
Definition catch_at_age.hpp:45
std::shared_ptr< AgeToLengthConversionBase< Type > > BuildAgeToLengthConversionFleet(const std::shared_ptr< Population< Type > > &population, const std::shared_ptr< Fleet< Type > > &fleet)
Build the active age-to-length conversion for a fleet from the current population and fleet state.
Definition runtime.hpp:44
Defines the SizeGrid container for population-level biological size support.
Population-level biological size grid.
Definition size_grid.hpp:26