43 double SigmaBsPerKg(
double meanLengthCm,
double frequencykHz)
const;
58 double TargetStrengthDb(
double lengthCm,
const std::vector<double>& data)
const;
61 const std::vector<double>& DataAt(
double frequencykHz)
const;
64 bool m_isTable =
false;
65 std::map<double, std::vector<double>> m_dataByFrequency;
66 std::vector<double> m_lengthsCm;
67 double m_weightAG = 0.0;
68 double m_weightB = 0.0;
69 double m_lengthCv = 0.0;
73 static constexpr const char*
kInstalledPath =
"resources/acoustics/parameter_library.json";
86 static std::vector<std::string>
CandidatePaths(
const std::string& configured,
const std::string& inputFilePath);
112 const std::string&
Version()
const {
return m_version; }
115 const std::string&
Path()
const {
return m_path; }
127 std::string m_version;
129 std::map<std::string, Species> m_species;
One species of the library.
Definition ParameterLibrary.h:29
double LengthCv() const
The coefficient of variation of the length spread around the mean.
Definition ParameterLibrary.h:52
double SigmaBsPerKg(double meanLengthCm, double frequencykHz) const
double WeightKg(double lengthCm) const
Definition ParameterLibrary.h:25
const std::string & Version() const
The library version, e.g. "0.6.0".
Definition ParameterLibrary.h:112
static ParameterLibrary FromFile(const std::string &path)
std::vector< std::string > SpeciesKeys() const
The species keys, sorted.
const std::string & Path() const
The file the library was read from; empty when it was read from a string.
Definition ParameterLibrary.h:115
static constexpr const char * kInstalledPath
The installed library, relative to a resources directory.
Definition ParameterLibrary.h:73
static ParameterLibrary FromJsonString(const std::string &document)
static std::vector< std::string > CandidatePaths(const std::string &configured, const std::string &inputFilePath)
static ParameterLibrary Load(const std::string &configured, const std::string &inputFilePath)
const Species * Find(const std::string &key) const