9#ifndef FIMS_POPULATION_DYNAMICS_SIZE_PRODUCTS_HPP
10#define FIMS_POPULATION_DYNAMICS_SIZE_PRODUCTS_HPP
15#include "../../common/fims_vector.hpp"
29template <
typename Type>
107 throw std::out_of_range(
"SizeProducts year-age index out of range");
125 throw std::out_of_range(
"SizeProducts year-age-size index out of range");
Definition fims_vector.hpp:27
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
Cached population-level size outputs on a biological size grid.
Definition size_products.hpp:30
const Type & MeanLAA(std::size_t year_index, std::size_t age_index) const
Read mean length-at-age.
Definition size_products.hpp:170
Type & MeanLAA(std::size_t year_index, std::size_t age_index)
Access mean length-at-age.
Definition size_products.hpp:138
std::size_t AgeYearIndex(std::size_t year_index, std::size_t age_index) const
Return the flattened index for year-age products.
Definition size_products.hpp:104
fims::Vector< Type > mean_LAA
Definition size_products.hpp:36
std::size_t n_ages
Definition size_products.hpp:32
std::size_t AgeYearSizeIndex(std::size_t year_index, std::size_t age_index, std::size_t size_bin_index) const
Return the flattened index for year-age-size-bin probabilities.
Definition size_products.hpp:120
void Resize(std::size_t years, std::size_t ages, std::size_t size_bins)
Resize all cached product arrays.
Definition size_products.hpp:63
const Type & ProbSize(std::size_t year_index, std::size_t age_index, std::size_t size_bin_index) const
Read age-to-size probability.
Definition size_products.hpp:193
void ResizeProbSizeOnly(std::size_t years, std::size_t ages, std::size_t size_bins)
Resize only the cached age-to-size probability array.
Definition size_products.hpp:85
SizeProducts(std::size_t years, std::size_t ages, std::size_t size_bins)
Construct and size the size-product container.
Definition size_products.hpp:53
std::size_t n_years
Definition size_products.hpp:31
std::size_t n_size_bins
Definition size_products.hpp:33
fims::Vector< Type > sd_LAA
Definition size_products.hpp:38
SizeProducts()
Default constructor.
Definition size_products.hpp:45
Type & ProbSize(std::size_t year_index, std::size_t age_index, std::size_t size_bin_index)
Access age-to-size probability.
Definition size_products.hpp:159
Type & SdLAA(std::size_t year_index, std::size_t age_index)
Access spread of length-at-age.
Definition size_products.hpp:148
fims::Vector< Type > prob_size
Definition size_products.hpp:40
const Type & SdLAA(std::size_t year_index, std::size_t age_index) const
Read spread of length-at-age.
Definition size_products.hpp:181