Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] View of /trunk/gadget/predatorprinter.h
[mareframe] / trunk / gadget / predatorprinter.h Repository:
ViewVC logotype

View of /trunk/gadget/predatorprinter.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (download) (annotate)
Mon Feb 10 17:09:07 2014 UTC (10 years, 3 months ago) by agomez
File size: 2920 byte(s)
Initial version based on Gadget 2.2.00
#ifndef predatorprinter_h
#define predatorprinter_h

#include "printer.h"
#include "predatoraggregator.h"
#include "gadget.h"

/**
 * \class PredatorPrinter
 * \brief This is the class used to print the predation information for one or more predators consuming one or more preys
 */
class PredatorPrinter : public Printer {
public:
  /**
   * \brief This is the default PredatorPrinter constructor
   * \param infile is the CommentStream to read the printer parameters from
   * \param TimeInfo is the TimeClass for the current model
   */
  PredatorPrinter(CommentStream& infile, const TimeClass* const TimeInfo);
  /**
   * \brief This is the default PredatorPrinter destructor
   */
  virtual ~PredatorPrinter();
  /**
   * \brief This will select the predators and preys required for the printer class to print the requested information
   * \param predatorvec is the PredatorPtrVector of all the available predators
   * \param preyvec is the PreyPtrVector of all the available preys
   * \param Area is the AreaClass for the current model
   */
  virtual void setPredAndPrey(PredatorPtrVector& predatorvec, PreyPtrVector& preyvec, const AreaClass* const Area);
  /**
   * \brief This will print the requested information for the printer class to the ofstream specified
   * \param TimeInfo is the TimeClass for the current model
   * \param printtime is the flag to denote when the printing is taking place
   */
  virtual void Print(const TimeClass* const TimeInfo, int printtime);
protected:
  /**
   * \brief This is the IntMatrix used to store aggregated area information
   */
  IntMatrix areas;
  /**
   * \brief This is the CharPtrVector of the names of the aggregated areas to print
   */
  CharPtrVector areaindex;
  /**
   * \brief This is the CharPtrVector of the names of the predator lengths to print
   */
  CharPtrVector predlenindex;
  /**
   * \brief This is the CharPtrVector of the names of the prey lengths to print
   */
  CharPtrVector preylenindex;
  /**
   * \brief This is the CharPtrVector of the names of the predator names to print
   */
  CharPtrVector predatornames;
  /**
   * \brief This is the CharPtrVector of the names of the prey names to print
   */
  CharPtrVector preynames;
  /**
   * \brief This is the LengthGroupDivision of the predator
   */
  LengthGroupDivision* predLgrpDiv;
  /**
   * \brief This is the LengthGroupDivision of the prey
   */
  LengthGroupDivision* preyLgrpDiv;
  /**
   * \brief This is the PredatorAggregator used to collect information about the predation
   */
  PredatorAggregator* aggregator;
  /**
   * \brief This is the flag used to denote whether the biomass consumed or the numbers consumed is printed to the outfile (default is to print biomass)
   */
  int biomass;
  /**
   * \brief This is the DoubleMatrix used to temporarily store the information returned from the aggregatation function
   */
  const DoubleMatrix* dptr;
};

#endif

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge