10#ifndef FIMS_POPULATION_DYNAMICS_RECRUITMENT_BASE_HPP
11#define FIMS_POPULATION_DYNAMICS_RECRUITMENT_BASE_HPP
15#include "../../../common/fims_math.hpp"
16#include "../../../common/fims_vector.hpp"
17#include "../../../common/model_object.hpp"
18#include "../../../distributions/distributions.hpp"
46 std::shared_ptr<fims_popdy::RecruitmentBase<Type>>
48 std::shared_ptr<fims_popdy::RecruitmentBase<Type>>
90 if (!this->constrain_deviations) {
96 for (
size_t i = 0;
i < this->log_recruit_devs.
size();
i++) {
97 sum += this->log_recruit_devs[
i];
100 for (
size_t i = 0;
i < this->log_recruit_devs.
size();
i++) {
101 this->log_recruit_devs[
i] -= sum / (this->log_recruit_devs.
size());
Definition fims_vector.hpp:27
size_type size() const
Returns the number of elements.
Definition fims_vector.hpp:273
The population dynamics of FIMS.
Definition catch_at_age.hpp:41
void clear_internal()
Clears the internal objects.
Definition rcpp_interface.hpp:279
FIMSObject struct that defines member types and returns the unique id.
Definition model_object.hpp:25
Base class for all recruitment functors.
Definition recruitment_base.hpp:28
virtual const Type evaluate_process(size_t pos)=0
Handle error in recruitment.
fims::Vector< Type > log_rzero
Definition recruitment_base.hpp:36
virtual const Type evaluate_mean(const Type &spawners, const Type &ssbzero)=0
Calculates the expected recruitment for a given spawning input.
static uint32_t id_g
Definition recruitment_base.hpp:29
void PrepareConstrainedDeviations()
Prepare constrained recruitment deviations. Based on ADMB sum-to-zero constraint implementation....
Definition recruitment_base.hpp:89
void Prepare()
Prepares the recruitment deviations vector.
Definition recruitment_base.hpp:61
bool estimate_log_recruit_devs
Definition recruitment_base.hpp:42
bool constrain_deviations
Definition recruitment_base.hpp:33
fims::Vector< Type > log_r
Definition recruitment_base.hpp:38
fims::Vector< Type > log_expected_recruitment
Definition recruitment_base.hpp:40
int process_id
Definition recruitment_base.hpp:45
std::shared_ptr< fims_popdy::RecruitmentBase< Type > > process
Definition recruitment_base.hpp:47
std::shared_ptr< fims_popdy::RecruitmentBase< Type > > recruitment
Definition recruitment_base.hpp:49
RecruitmentBase()
Constructor.
Definition recruitment_base.hpp:53
fims::Vector< Type > log_recruit_devs
Definition recruitment_base.hpp:31