10#ifndef FIMS_POPULATION_DYNAMICS_RECRUITMENT_BASE_HPP
11#define FIMS_POPULATION_DYNAMICS_RECRUITMENT_BASE_HPP
45 std::shared_ptr<fims_popdy::RecruitmentBase<Type>>
47 std::shared_ptr<fims_popdy::RecruitmentBase<Type>>
53 this->
id = RecruitmentBase::id_g++;
89 virtual const Type
evaluate_mean(
const Type &spawners,
const Type &phi_0) = 0;
104 if (!this->constrain_deviations) {
108 Type sum =
static_cast<Type
>(0.0);
110 for (
size_t i = 0; i < this->log_recruit_devs.
size(); i++) {
111 sum += this->log_recruit_devs[i];
114 for (
size_t i = 0; i < this->log_recruit_devs.
size(); i++) {
115 this->log_recruit_devs[i] -= sum / (this->log_recruit_devs.
size());
121uint32_t RecruitmentBase<Type>::id_g = 0;
Definition fims_vector.hpp:27
size_type size() const
Returns the number of elements.
Definition fims_vector.hpp:299
A collection of mathematical functions used in FIMS.
Establishes the FIMS Vector class.
Definition of the FIMSObject structure.
The population dynamics of FIMS.
Definition catch_at_age.hpp:45
void register_self(const uint32_t id)
Registers a FIMSObject instance with the memory tracker.
Definition model_object.hpp:35
FIMSObject struct that defines member types and returns the unique id.
Definition model_object.hpp:55
Base class for all recruitment functors.
Definition recruitment_base.hpp:27
virtual const Type evaluate_process(size_t pos)=0
Handle error in recruitment.
fims::Vector< Type > log_rzero
Definition recruitment_base.hpp:35
void PrepareConstrainedDeviations()
Prepare constrained recruitment deviations. Based on ADMB sum-to-zero constraint implementation....
Definition recruitment_base.hpp:103
void Prepare()
Prepares the recruitment deviations vector.
Definition recruitment_base.hpp:63
bool estimate_log_recruit_devs
Definition recruitment_base.hpp:41
bool constrain_deviations
Definition recruitment_base.hpp:32
fims::Vector< Type > log_r
Definition recruitment_base.hpp:37
fims::Vector< Type > log_expected_recruitment
Definition recruitment_base.hpp:39
int process_id
Definition recruitment_base.hpp:44
std::shared_ptr< fims_popdy::RecruitmentBase< Type > > process
Definition recruitment_base.hpp:46
virtual const Type evaluate_mean(const Type &spawners, const Type &phi_0)=0
Evaluates expected recruitment from the stock–recruitment relationship before recruitment-process dev...
std::shared_ptr< fims_popdy::RecruitmentBase< Type > > recruitment
Definition recruitment_base.hpp:48
RecruitmentBase()
Constructor.
Definition recruitment_base.hpp:52
fims::Vector< Type > log_recruit_devs
Definition recruitment_base.hpp:30