Program Listing for File simulation_parameters.h¶
↰ Return to documentation for file (include/amici/simulation_parameters.h
)
#ifndef AMICI_SIMULATION_PARAMETERS_H
#define AMICI_SIMULATION_PARAMETERS_H
#include "amici/defines.h"
#include <vector>
namespace amici {
class SimulationParameters {
public:
SimulationParameters() = default;
explicit SimulationParameters(std::vector<realtype> timepoints)
: ts_(std::move(timepoints))
{
}
SimulationParameters(std::vector<realtype> fixedParameters,
std::vector<realtype> parameters)
: fixedParameters(std::move(fixedParameters)),
parameters(std::move(parameters)),
pscale(std::vector<ParameterScaling>(this->parameters.size(),
ParameterScaling::none))
{
}
SimulationParameters(std::vector<realtype> fixedParameters,
std::vector<realtype> parameters,
std::vector<int> plist
)
: fixedParameters(std::move(fixedParameters)),
parameters(std::move(parameters)),
pscale(std::vector<ParameterScaling>(this->parameters.size(),
ParameterScaling::none)),
plist(std::move(plist))
{
}
SimulationParameters(std::vector<realtype> timepoints,
std::vector<realtype> fixedParameters,
std::vector<realtype> parameters)
: fixedParameters(std::move(fixedParameters)),
parameters(std::move(parameters)),
pscale(std::vector<ParameterScaling>(this->parameters.size(),
ParameterScaling::none)),
ts_(std::move(timepoints))
{
}
void reinitializeAllFixedParameterDependentInitialStatesForPresimulation(int nx_rdata);
void reinitializeAllFixedParameterDependentInitialStatesForSimulation(int nx_rdata);
void reinitializeAllFixedParameterDependentInitialStates(int nx_rdata);
std::vector<realtype> fixedParameters;
std::vector<realtype> fixedParametersPreequilibration;
std::vector<realtype> fixedParametersPresimulation;
std::vector<realtype> parameters;
std::vector<realtype> x0;
std::vector<realtype> sx0;
std::vector<ParameterScaling> pscale;
std::vector<int> plist;
realtype tstart_ {0.0};
realtype t_presim {0.0};
std::vector<realtype> ts_;
bool reinitializeFixedParameterInitialStates {false};
std::vector<int> reinitialization_state_idxs_presim;
std::vector<int> reinitialization_state_idxs_sim;
};
bool operator==(const SimulationParameters &a, const SimulationParameters &b);
} // namespace amici
#endif // AMICI_SIMULATION_PARAMETERS_H