#include "stockprey.h" StockPrey::StockPrey(CommentStream& infile, const IntVector& Areas, const char* givenname, int minage, int numage, const TimeClass* const TimeInfo, Keeper* const keeper) : Prey(infile, Areas, givenname, TimeInfo, keeper) { int i; type = STOCKPREY; IntVector lower(numage, 0); IntVector agesize(numage, LgrpDiv->numLengthGroups()); preyAlkeys.resize(areas.Size(), minage, lower, agesize); for (i = 0; i < preyAlkeys.Size(); i++) preyAlkeys[i].setToZero(); } void StockPrey::Sum(const AgeBandMatrix& stockAlkeys, int area) { int i, inarea = this->areaNum(area); preyAlkeys[inarea].setToZero(); preyAlkeys[inarea].Add(stockAlkeys, *CI); preyAlkeys[inarea].sumColumns(preynumber[inarea]); total[inarea] = 0.0; for (i = 0; i < preynumber.Ncol(inarea); i++) { biomass[inarea][i] = preynumber[inarea][i].N * preynumber[inarea][i].W; total[inarea] += biomass[inarea][i]; cons[inarea][i] = 0.0; } } void StockPrey::Print(ofstream& outfile) const { int area; Prey::Print(outfile); outfile << "\n\tStock prey age length keys\n"; for (area = 0; area < areas.Size(); area++) { outfile << "\tInternal area " << areas[area] << "\n\tNumber\n"; preyAlkeys[area].printNumbers(outfile); outfile << "\tMean weight\n"; preyAlkeys[area].printWeights(outfile); } }