.Simulation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
DataManager.h
1 // DataManager.h - Data Manager Class Declaration
2 // Written By Jesse Z. Zhong
3 #ifndef __Data_Manager_H__
4 #define __Data_Manager_H__
5 #pragma region Includes
6 #include "stdafx.h"
7 #include "DataSnapshot.h"
8 #include "DataSavepoint.h"
9 #include "DataCollisionEnergy.h"
10 #include "DataRPK.h"
11 using namespace std;
12 using namespace DataReader;
13 #pragma endregion
14 namespace DataVisualizerGUI {
18  class DataManager : public QObject {
19  Q_OBJECT
20 
21  #pragma region File Extensions
22  static const QString EXT_Snapshot;
24 
26  static const QString EXT_Save_Point;
27 
29  static const QString EXT_Collide_Energy;
30 
32  static const QString EXT_RPK_Data;
33 
35  static const QString KEY_Snapshot;
36 
38  static const QString KEY_Save_Point;
39 
41  static const QString KEY_Collide_Energy;
42 
44  static const QString KEY_RPK_Data;
45 
47  static const QString CHR_Asterisk;
48 
49  // Forward slash reference.
50  static const QString CHR_Slash;
51  #pragma endregion
52  #pragma region ThreadPool and File I/O
53  static const int MaxReadingTasks;
56  #pragma endregion
57  public:
61  DataManager(QWidget* parent = 0);
62 
66  ~DataManager();
67 
72  void StoreData();
73 
78  DataRPK& GetRPGuess2Data();
79 
84  DataRPK& GetRPActual();
85 
90  DataSnapshot& GetSnapshotData(int index);
91 
96  DataSavepoint& GetSavepointData(int index);
97 
102  DataCollisionEnergy& GetCollisionEnergyData(int index);
103 
108  int GetMaxSets() const;
109 
113  QString GetDirPath() const;
114 
118  void SetDirPath(const QString& dir);
119 
120  protected:
125  template<typename T>
126  bool CheckBounds(int index, vector<T> container) const;
127 
128  // Members
131  vector<DataSnapshot> Snapshot_;
132  vector<DataSavepoint> Savepoint_;
133  vector<DataCollisionEnergy> CollideEnergy_;
134  QString DirPath_;
135  int MaxSets_;
136 
137  // Reference to a widget that will be used
138  // for any temporary UI elements created.
139  QWidget* Parent_;
140  };
141 }
142 #endif // !__Data_Manager_H__
143 
vector< DataSavepoint > Savepoint_
List of compiled save point data.
Definition: DataManager.h:132
vector< DataSnapshot > Snapshot_
List of compiled snapshot data.
Definition: DataManager.h:131
Stores a set of RPK data points.
Definition: DataRPK.h:15
QString DirPath_
Path of the file directory that the files are read from.
Definition: DataManager.h:134
int MaxSets_
Records the number of files whole sets stored.
Definition: DataManager.h:135
Object used for reading and storing data.
Definition: DataManager.h:18
DataRPK RPActual_
Holds the RP actual data set.
Definition: DataManager.h:130
DataRPK RPGuess2_
Holds the RP prediction data set.
Definition: DataManager.h:129
Stores the data from a save point data set.
Definition: DataSavepoint.h:16
Stores a set of collision energy data.
Definition: DataCollisionEnergy.h:15
vector< DataCollisionEnergy > CollideEnergy_
List of compiled collision energy data.
Definition: DataManager.h:133
Stores simulation snapshot data.
Definition: DataSnapshot.h:18