Marmote Core
The project aims at realizing the prototype of a software environment dedicated to modeling with Markov chains.
 All Classes Functions Variables
simulationResult.h
1 /* Marmote is free software: you can redistribute it and/or modify
2 it under the terms of the GNU General Public License as published by
3 the Free Software Foundation, either version 3 of the License, or
4 (at your option) any later version.
5 
6 Marmote is distributed in the hope that it will be useful,
7 but WITHOUT ANY WARRANTY; without even the implied warranty of
8 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 GNU General Public License for more details.
10 
11 You should have received a copy of the GNU General Public License
12 along with Marmote. If not, see <http://www.gnu.org/licenses/>.
13 
14 Copyright 2015 Alain Jean-Marie, Jean-Michel Fourneau, Jean-Marc Vincent, Issam Rabhi */
15 
16 #ifndef SIMULATIONRESULT_H
17 #define SIMULATIONRESULT_H
18 
19 using namespace std;
20 
21 #include <string.h>
22 #include "Distribution/discreteDistribution.h"
23 #include "marmoteConstants.h" // at least for the definition of enum timeType
24 
34 {
35  private:
36  timeType _type;
37  int _stateSpaceSize;
38  int _trajectorySize;
39  bool _hasDistrib;
40  bool _hasTrajectory;
41  discreteDistribution* _distrib;
42  double* _dates;
43  double* _increments;
44  int* _states;
46  public:
47  // constructors
55  simulationResult( int size, timeType t, bool stats );
63  simulationResult( string format, string modelName, bool stats );
64 
65  // destructor
71 
72  public:
73  // accessors
79  void setTrajectory(bool v) { _hasTrajectory = v; }
85  void setTrajectorySize(int l) { _trajectorySize = l; }
93  void setTrajectory(double* d, int *s) { _dates = d; _states = s; }
100  void distrib(discreteDistribution *d) { _distrib = d; }
106  discreteDistribution* getDistribution() { return _distrib; }
107 
108 private:
109  // technical private methods
110  ssize_t getDataLine(char** line, size_t *n, FILE* stream);
111 
112 };
113 
114 #endif // SIMULATIONRESULT_H