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] Annotation of /trunk/gadget/fleetpreyaggregator.h
[mareframe] / trunk / gadget / fleetpreyaggregator.h Repository:
ViewVC logotype

Annotation of /trunk/gadget/fleetpreyaggregator.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

1 : agomez 1 #ifndef fleetpreyaggregator_h
2 :     #define fleetpreyaggregator_h
3 :    
4 :     #include "areatime.h"
5 :     #include "agebandmatrixptrvector.h"
6 :     #include "conversionindexptrvector.h"
7 :     #include "lengthgroup.h"
8 :     #include "fleetptrvector.h"
9 :     #include "stockptrvector.h"
10 :     #include "predatorptrvector.h"
11 :     #include "preyptrvector.h"
12 :     #include "intmatrix.h"
13 :    
14 :     /**
15 :     * \class FleetPreyAggregator
16 :     * \brief This is the class used to aggregate fleet catch information
17 :     */
18 :     class FleetPreyAggregator {
19 :     public:
20 :     /**
21 :     * \brief This is the FleetPreyAggregator constructor
22 :     * \param Fleets is the FleetPtrVector of the fleets that will be aggregated
23 :     * \param Stocks is the StockPtrVector of the stocks that will be aggregated
24 :     * \param Lgrpdiv is the LengthGroupDivision of the stocks
25 :     * \param Areas is the IntMatrix of areas that the catch can take place on
26 :     * \param Ages is the IntMatrix of ages of the stocks
27 :     * \param overcons is the flag to determine whether to calculate overconsumption of the stocks
28 :     */
29 :     FleetPreyAggregator(const FleetPtrVector& Fleets, const StockPtrVector& Stocks,
30 :     LengthGroupDivision* const Lgrpdiv, const IntMatrix& Areas,
31 :     const IntMatrix& Ages, int overcons);
32 :     /**
33 :     * \brief This is the default FleetPreyAggregator destructor
34 :     */
35 :     ~FleetPreyAggregator();
36 :     /**
37 :     * \brief This function will reset the fleet catch information
38 :     */
39 :     void Reset();
40 :     /**
41 :     * \brief This function will aggregate the fleet catch data
42 :     */
43 :     void Sum();
44 :     /**
45 :     * \brief This function will check the fleet catch data
46 :     * \return 1 if there is no catch data found, 0 otherwise
47 :     */
48 :     int checkCatchData();
49 :     /**
50 :     * \brief This will print the aggregator information to the ofstream specified
51 :     * \param outfile is the ofstream to the file that the aggregator information gets sent to
52 :     */
53 :     void Print(ofstream &outfile) const;
54 :     /**
55 :     * \brief This will return the AgeBandMatrixPtrVector containing the aggregated catch information
56 :     * \return total, the AgeBandMatrixPtrVector of aggregated catch information
57 :     */
58 :     const AgeBandMatrixPtrVector& getSum() const { return total; };
59 :     private:
60 :     /**
61 :     * \brief This is the PredatorPtrVector of the fleets that will be aggregated
62 :     */
63 :     PredatorPtrVector predators;
64 :     /**
65 :     * \brief This is the PreyPtrVector of the stocks that will be aggregated
66 :     */
67 :     PreyPtrVector preys;
68 :     /**
69 :     * \brief This is the LengthGroupDivision of the aggregated stocks
70 :     */
71 :     LengthGroupDivision* LgrpDiv;
72 :     /**
73 :     * \brief This is the IntMatrix used to store area information
74 :     */
75 :     IntMatrix areas;
76 :     /**
77 :     * \brief This is the IntMatrix used to store age information
78 :     */
79 :     IntMatrix ages;
80 :     /**
81 :     * \brief This is the flag used to denote whether to calculate overconsumption of the stocks or not
82 :     */
83 :     int overconsumption;
84 :     /**
85 :     * \brief This is the IntMatrix used to store predation information
86 :     * \note doescatch[i][j] is the flag to denote whether fleet i catches stock j
87 :     */
88 :     IntMatrix doescatch;
89 :     /**
90 :     * \brief This is the ConversionIndexPtrVector used to convert the length groups of the stocks to be aggregated
91 :     */
92 :     ConversionIndexPtrVector CI;
93 :     /**
94 :     * \brief This is the AgeBandMatrixPtrVector used to store the aggregated catch
95 :     */
96 :     AgeBandMatrixPtrVector total;
97 :     /**
98 :     * \brief This is the DoubleVector used to temporarily store suitability information when aggregating the catch
99 :     */
100 :     const DoubleVector* suitptr;
101 :     /**
102 :     * \brief This is the AgeBandMatrix used to temporarily store information when aggregating the catch
103 :     */
104 :     const AgeBandMatrix* alptr;
105 :     };
106 :    
107 :     #endif

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

Powered By FusionForge