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
)) {}
#ifndef SWIGPYTHON
/*
* include/amici/simulation_parameters.h:71: Warning 509: Overloaded method
* amici::SimulationParameters::SimulationParameters(std::vector<
* amici::realtype,std::allocator< amici::realtype > >,std::vector<
* amici::realtype,std::allocator< amici::realtype > >,std::vector<
* amici::realtype,std::allocator< amici::realtype > >) effectively ignored,
* include/amici/simulation_parameters.h:54: Warning 509: as it is shadowed
* by amici::SimulationParameters::SimulationParameters(std::vector<
* amici::realtype,std::allocator< amici::realtype > >,std::vector<
* amici::realtype,std::allocator< amici::realtype > >,std::vector<
* int,std::allocator< int > >).
*/
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)) {}
#endif
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==(SimulationParameters const& a, SimulationParameters const& b);
} // namespace amici
#endif // AMICI_SIMULATION_PARAMETERS_H