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

Annotation of /trunk/gadget/predatorpreyaggregator.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (view) (download)

1 : agomez 1 #ifndef predatorpreyaggregator_h
2 :     #define predatorpreyaggregator_h
3 :    
4 :     #include "areatime.h"
5 :     #include "conversionindexptrvector.h"
6 :     #include "agebandmatrixptrvector.h"
7 :     #include "doublematrixptrvector.h"
8 :     #include "lengthgroup.h"
9 :     #include "predatorptrvector.h"
10 :     #include "preyptrvector.h"
11 :     #include "intmatrix.h"
12 :    
13 :     /**
14 :     * \class PredatorPreyAggregator
15 :     * \brief This is the class used to aggregate predator-prey information
16 :     */
17 :     class PredatorPreyAggregator {
18 :     public:
19 :     /**
20 :     * \brief This is the PredatorPreyAggregator constructor
21 :     * \param Predators is the PredatorPtrVector of the predators that will be aggregated
22 :     * \param Preys is the PreyPtrVector of the preys that will be aggregated
23 :     * \param Lgrpdiv is the LengthGroupDivision of the preys
24 :     * \param Areas is the IntMatrix of areas that the predation can take place on
25 :     * \param Ages is the IntMatrix of ages of the preys
26 :     */
27 :     PredatorPreyAggregator(const PredatorPtrVector& Predators, const PreyPtrVector& Preys,
28 :     LengthGroupDivision* const Lgrpdiv, const IntMatrix& Areas, const IntMatrix& Ages);
29 :     /**
30 :     * \brief This is the default PredatorPreyAggregator destructor
31 :     */
32 :     ~PredatorPreyAggregator();
33 :     /**
34 :     * \brief This function will reset the predation information
35 :     */
36 :     void Reset();
37 :     /**
38 :     * \brief This function will aggregate the predation data
39 :     * \param TimeInfo is the TimeClass for the current model
40 :     */
41 :     void Sum(const TimeClass* const TimeInfo);
42 :     /**
43 :     * \brief This will return the AgeBandMatrixPtrVector containing the aggregated predation information
44 :     * \return consume, the AgeBandMatrixPtrVector of aggregated predation information
45 :     */
46 :     const AgeBandMatrixPtrVector& getConsumption() const { return consume; };
47 :     /**
48 :     * \brief This will return the DoubleMatrixPtrVector containing the aggregated mortality information
49 :     * \return mortality, the DoubleMatrixPtrVector of mortality information
50 :     */
51 :     const DoubleMatrixPtrVector& getMortality() const { return mortality; };
52 :     private:
53 :     /**
54 :     * \brief This is the PredatorPtrVector of the predators that will be aggregated
55 :     */
56 :     PredatorPtrVector predators;
57 :     /**
58 :     * \brief This is the PreyPtrVector of the preys that will be aggregated
59 :     */
60 :     PreyPtrVector preys;
61 :     /**
62 :     * \brief This is the LengthGroupDivision used to store length information
63 :     */
64 :     LengthGroupDivision* LgrpDiv;
65 :     /**
66 :     * \brief This is the IntMatrix used to store area information
67 :     */
68 :     IntMatrix areas;
69 :     /**
70 :     * \brief This is the IntMatrix used to store age information
71 :     */
72 :     IntMatrix ages;
73 :     /**
74 :     * \brief This is the IntMatrix used to store predation information
75 :     * \note doeseat[i][j] is the flag to denote whether predator i eats prey j
76 :     */
77 :     IntMatrix doeseat;
78 :     /**
79 :     * \brief This is the ConversionIndexPtrVector used to convert the length groups of the preys to be aggregated
80 :     */
81 :     ConversionIndexPtrVector CI;
82 :     /**
83 :     * \brief This is the AgeBandMatrixPtrVector used to store information about the prey population before predation
84 :     */
85 :     AgeBandMatrixPtrVector total;
86 :     /**
87 :     * \brief This is the AgeBandMatrixPtrVector used to store information about the population of the prey that is consumed
88 :     */
89 :     AgeBandMatrixPtrVector consume;
90 :     /**
91 :     * \brief This is the DoubleMatrixPtrVector used to store the calculated mortality caused by the predation
92 :     */
93 :     DoubleMatrixPtrVector mortality;
94 :     /**
95 :     * \brief This is the DoubleVector used to temporarily store suitability information when aggregating the predation
96 :     */
97 :     const DoubleVector* suitptr;
98 :     /**
99 :     * \brief This is the AgeBandMatrix used to temporarily store information when aggregating the predation
100 :     */
101 :     const AgeBandMatrix* alptr;
102 :     };
103 :    
104 :     #endif

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

Powered By FusionForge