DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
vesseldata.h
Go to the documentation of this file.
1 /* --------------------------------------------------------------------------
2  * DISPLACE: DYNAMIC INDIVIDUAL VESSEL-BASED SPATIAL PLANNING
3  * AND EFFORT DISPLACEMENT
4  * Copyright (c) 2012, 2013, 2014 Francois Bastardie <fba@aqua.dtu.dk>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  * --------------------------------------------------------------------------
20  */
21 #ifndef VESSELDATA_H
22 #define VESSELDATA_H
23 
24 #include <Vessel.h>
25 #include <QList>
26 
27 #include <memory>
28 
29 class VesselStats;
30 
32 {
33  QString mName;
34 
35 public:
36  std::shared_ptr<Vessel> mVessel; /* This is crap too. */
37 
38  VesselData(std::shared_ptr<Vessel> vessel);
39 
40  int getNationality() const;
41  void setNationality(int value);
42 
43  int getLastHarbour() const;
44  void setLastHarbour(int value);
45 
46  double getRevenueAV() const;
47  void setRevenueAV(double value);
48  double getRevenueExAV() const;
49  void setRevenueExAV(double value);
50 
51  int getCatchesListSize() const { return mCatches.size(); }
52  double getCatch(int idx) const { return mCatches.at(idx); }
53  void setCatch(int idx, double val);
54  void addCatch(int idx, double val);
55 
56  int getDiscardsListSize() const { return mDiscards.size(); }
57  double getDiscard(int idx) const { return mDiscards.at(idx); }
58  void setDiscard(int idx, double val);
59  void addDiscard(int idx, double val);
60 
61  double getCumFuelCons() const;
62  void setCumFuelCons(double value);
63  void addCumFuelCons(double value);
64 
65  double getSweptArea() const;
66  void setSweptArea(double value);
67  void addSweptArea(double value);
68  double getRevenuePerSweptArea() const;
69  void setRevenuePerSweptArea(double value);
70  void addRevenuePerSweptArea(double value);
71 
72  double getGVA() const;
73  void setGVA(double value);
74  void addGVA(double value);
75  double getGVAPerRevenue() const;
76  void setGVAPerRevenue(double value);
77  void addGVAPerRevenue(double value);
78  double getLabourSurplus() const;
79  void setLabourSurplus(double value);
80  void addLabourSurplus(double value);
81  double getGrossProfit() const;
82  void setGrossProfit(double value);
83  void addGrossProfit(double value);
84  double getNetProfit() const;
85  void setNetProfit(double value);
86  void addNetProfit(double value);
87  double getNetProfitMargin() const;
88  void setNetProfitMargin(double value);
89  void addNetProfitMargin(double value);
90  double getGVAPerFTE() const;
91  void setGVAPerFTE(double value);
92  void addGVAPerFTE(double value);
93  double getRoFTA() const;
94  void setRoFTA(double value);
95  void addRoFTA(double value);
96  double getBER() const;
97  void setBER(double value);
98  void addBER(double value);
99  double getCRBER() const;
100  void setCRBER(double value);
101  void addCRBER(double value);
102  double getNetPresentValue() const;
103  void setNetPresentValue(double value);
104  void addNetPresentValue(double value);
105  int getNumTrips() const;
106  void setNumTrips(int value);
107  void addNumTrips(int value);
108 
109 
110 
111  double getFuelCost() const;
112  void setFuelCost(double value);
113 
114  void addVpuf(double value);
115 
116  double getGav() const;
117  void setGav(double value);
118 
119  QString getName() const;
120  void setName(const QString &value);
121 
122 private:
123  int mNationality;
124  int mLastHarbour;
125  double mRevenueAV;
126  double mRevenueExAV;
127  double cumFuelCons;
128  double fuelCost;
129  double vpuf;
130  double gav;
131  double sweptArea;
132  double revenuePerSweptArea;
133 
134  double GVA;
135  double GVAPerRevenue;
136  double LabourSurplus;
137  double GrossProfit;
138  double NetProfit;
139  double NetProfitMargin;
140  double GVAPerFTE;
141  double RoFTA;
142  double BER;
143  double CRBER;
144  double NetPresentValue;
145  int numTrips;
146 
147 
148  QList<double> mCatches;
149  QList<double> mDiscards;
150 };
151 
152 class VesselStats {
153 public:
154  //deprecated: double vpuf() const { return revenueAV / cumFuelCons; }
155 
156  int tstep = 0;
157 
158  int vesselId = -1;
159  std::string name;
160  int metierId = -1;
161  int lastHarbour = -1;
162  double revenueAV = 0;
163  double revenueExAV = 0;
164  double timeAtSea = 0;
165  int reasonToGoBack = 0;
166  double cumFuelCons = 0;
167  double vpuf = 0;
168  double fuelCost = 0;
169  double gav = 0;
170  double sweptArea = 0;
172 
173  double GVA = 0;
174  double GVAPerRevenue = 0;
175  double LabourSurplus = 0;
176  double GrossProfit = 0;
177  double NetProfit = 0;
178  double NetProfitMargin = 0;
179  double RoFTA = 0;
180  double GVAPerFTE = 0;
181  double BER = 0;
182  double CRBER = 0;
183  double NetPresentValue = 0;
184  int numTrips=1;
185 
186 
187  QList<double> mCatches;
188  QList<double> mDiscards;
189 
190 };
191 
192 #endif // VESSELDATA_H
double getBER() const
Definition: vesseldata.cpp:299
void setDiscard(int idx, double val)
Definition: vesseldata.cpp:93
void addNetProfitMargin(double value)
Definition: vesseldata.cpp:264
double getGav() const
Definition: vesseldata.cpp:133
double RoFTA
Definition: vesseldata.h:179
void addNetPresentValue(double value)
Definition: vesseldata.cpp:339
double NetPresentValue
Definition: vesseldata.h:183
void addSweptArea(double value)
Definition: vesseldata.cpp:154
std::string name
Definition: vesseldata.h:159
QString getName() const
Definition: vesseldata.cpp:28
double timeAtSea
Definition: vesseldata.h:164
void addDiscard(int idx, double val)
Definition: vesseldata.cpp:101
double GrossProfit
Definition: vesseldata.h:176
double getNetPresentValue() const
Definition: vesseldata.cpp:329
void addNumTrips(int value)
Definition: vesseldata.cpp:354
void setLastHarbour(int value)
Definition: vesseldata.cpp:53
int metierId
Definition: vesseldata.h:160
void setName(const QString &value)
Definition: vesseldata.cpp:33
double sweptArea
Definition: vesseldata.h:170
double LabourSurplus
Definition: vesseldata.h:175
double revenuePerSweptArea
Definition: vesseldata.h:171
void setGVAPerFTE(double value)
Definition: vesseldata.cpp:274
double gav
Definition: vesseldata.h:169
void addGVAPerRevenue(double value)
Definition: vesseldata.cpp:204
int reasonToGoBack
Definition: vesseldata.h:165
double vpuf
Definition: vesseldata.h:167
void addVpuf(double value)
Definition: vesseldata.cpp:174
int getCatchesListSize() const
Definition: vesseldata.h:51
double getGVAPerFTE() const
Definition: vesseldata.cpp:269
void setNetProfit(double value)
Definition: vesseldata.cpp:244
double getRoFTA() const
Definition: vesseldata.cpp:284
void setNationality(int value)
Definition: vesseldata.cpp:43
Definition: vesseldata.h:152
VesselData(std::shared_ptr< Vessel > vessel)
Definition: vesseldata.cpp:23
void addRoFTA(double value)
Definition: vesseldata.cpp:294
void addCatch(int idx, double val)
Definition: vesseldata.cpp:86
void setGrossProfit(double value)
Definition: vesseldata.cpp:229
void addLabourSurplus(double value)
Definition: vesseldata.cpp:219
double CRBER
Definition: vesseldata.h:182
int numTrips
Definition: vesseldata.h:184
int getNumTrips() const
Definition: vesseldata.cpp:344
void setRevenueExAV(double value)
Definition: vesseldata.cpp:74
double getRevenuePerSweptArea() const
Definition: vesseldata.cpp:159
void setGVAPerRevenue(double value)
Definition: vesseldata.cpp:199
double getCRBER() const
Definition: vesseldata.cpp:314
void setNetProfitMargin(double value)
Definition: vesseldata.cpp:259
int getNationality() const
Definition: vesseldata.cpp:38
double fuelCost
Definition: vesseldata.h:168
void setCRBER(double value)
Definition: vesseldata.cpp:319
QList< double > mCatches
Definition: vesseldata.h:187
void addGVA(double value)
Definition: vesseldata.cpp:189
void addCRBER(double value)
Definition: vesseldata.cpp:324
double getCatch(int idx) const
Definition: vesseldata.h:52
std::pair< box, unsigned > value
Definition: diffusion.cpp:30
void setRevenuePerSweptArea(double value)
Definition: vesseldata.cpp:164
double revenueExAV
Definition: vesseldata.h:163
double getSweptArea() const
Definition: vesseldata.cpp:144
double GVA
Definition: vesseldata.h:173
double GVAPerFTE
Definition: vesseldata.h:180
double getNetProfit() const
Definition: vesseldata.cpp:239
int getDiscardsListSize() const
Definition: vesseldata.h:56
int vesselId
Definition: vesseldata.h:158
void addBER(double value)
Definition: vesseldata.cpp:309
void setNumTrips(int value)
Definition: vesseldata.cpp:349
double GVAPerRevenue
Definition: vesseldata.h:174
double getDiscard(int idx) const
Definition: vesseldata.h:57
double getRevenueAV() const
Definition: vesseldata.cpp:59
void addNetProfit(double value)
Definition: vesseldata.cpp:249
void addRevenuePerSweptArea(double value)
Definition: vesseldata.cpp:169
void setFuelCost(double value)
Definition: vesseldata.cpp:128
std::shared_ptr< Vessel > mVessel
Definition: vesseldata.h:36
void setGav(double value)
Definition: vesseldata.cpp:138
int getLastHarbour() const
Definition: vesseldata.cpp:48
void setRoFTA(double value)
Definition: vesseldata.cpp:289
Definition: vesseldata.h:31
void setSweptArea(double value)
Definition: vesseldata.cpp:149
double getGVA() const
Definition: vesseldata.cpp:179
void setBER(double value)
Definition: vesseldata.cpp:304
void addCumFuelCons(double value)
Definition: vesseldata.cpp:118
void setNetPresentValue(double value)
Definition: vesseldata.cpp:334
double NetProfit
Definition: vesseldata.h:177
double getGrossProfit() const
Definition: vesseldata.cpp:224
int lastHarbour
Definition: vesseldata.h:161
double getNetProfitMargin() const
Definition: vesseldata.cpp:254
void setCumFuelCons(double value)
Definition: vesseldata.cpp:113
double NetProfitMargin
Definition: vesseldata.h:178
double cumFuelCons
Definition: vesseldata.h:166
QList< double > mDiscards
Definition: vesseldata.h:188
void addGrossProfit(double value)
Definition: vesseldata.cpp:234
int tstep
Definition: vesseldata.h:156
void addGVAPerFTE(double value)
Definition: vesseldata.cpp:279
double getCumFuelCons() const
Definition: vesseldata.cpp:108
double getGVAPerRevenue() const
Definition: vesseldata.cpp:194
double revenueAV
Definition: vesseldata.h:162
double getFuelCost() const
Definition: vesseldata.cpp:123
double BER
Definition: vesseldata.h:181
double getRevenueExAV() const
Definition: vesseldata.cpp:69
void setLabourSurplus(double value)
Definition: vesseldata.cpp:214
void setCatch(int idx, double val)
Definition: vesseldata.cpp:79
double getLabourSurplus() const
Definition: vesseldata.cpp:209
void setGVA(double value)
Definition: vesseldata.cpp:184
void setRevenueAV(double value)
Definition: vesseldata.cpp:64