32 |
|
|
33 |
|
#ifndef BRAINS_SIMMODEL_HPP |
34 |
|
#define BRAINS_SIMMODEL_HPP |
35 |
< |
#include <vector> |
35 |
> |
|
36 |
|
#include <iostream> |
37 |
+ |
#include <vector> |
38 |
+ |
#include <utility> |
39 |
|
|
40 |
|
#include "brains/fSimulation.h" |
41 |
|
#include "primitives/Molecule.hpp" |
42 |
+ |
#include "types/MoleculeStamp.hpp" |
43 |
|
#include "utils/PropertyMap.hpp" |
44 |
+ |
#include "io/Globals.hpp" |
45 |
|
|
46 |
|
namespace oopse{ |
47 |
|
|
154 |
|
sman_ = sman; |
155 |
|
} |
156 |
|
|
157 |
+ |
/** Returns the force field */ |
158 |
|
ForceField* getForceField() { |
159 |
|
return forceField_; |
160 |
|
} |
161 |
< |
|
161 |
> |
|
162 |
> |
/** Sets the force field */ |
163 |
|
void setForceField(ForceField* ff) { |
164 |
|
forceField_ = ff; |
165 |
|
} |
166 |
+ |
|
167 |
+ |
Globals* getGlobals() { |
168 |
+ |
return globals_; |
169 |
+ |
} |
170 |
+ |
|
171 |
+ |
void setGlobals(Globals* globals) { |
172 |
+ |
globals_ = globals; |
173 |
+ |
} |
174 |
+ |
|
175 |
+ |
int* getExcludeList() { |
176 |
+ |
return exclude_.getExcludeList(); |
177 |
+ |
} |
178 |
+ |
|
179 |
|
private: |
180 |
|
|
181 |
|
void calcNDF(); |
182 |
|
void calcNDFRaw(); |
183 |
|
void calcNDFTrans(); |
184 |
|
|
185 |
+ |
void addExcludePairs(Molecule* mol); |
186 |
+ |
void removeExcludePairs(Molecule* mol); |
187 |
+ |
|
188 |
|
int ndf_; |
189 |
|
int ndfRaw_; |
190 |
|
int ndfTrans_; |
198 |
|
int nCutoffGroups_; |
199 |
|
int nConstraints_; |
200 |
|
|
201 |
< |
simtype fInfo; |
202 |
< |
Exclude excludeList; |
201 |
> |
simtype fInfo_; |
202 |
> |
Exclude exclude_; |
203 |
|
ForceField* forceField_; |
204 |
|
|
205 |
|
std::vector<Molecule*> molecules_; /**< Molecule array */ |
206 |
|
PropertyMap properties_; /** Generic Property */ |
207 |
|
SnapshotManager* sman_; /** SnapshotManager */ |
208 |
|
|
209 |
+ |
std::vector<std::pair<MoleculeStamp*, int> > moleculeStamps_; |
210 |
+ |
Globals* globals_; |
211 |
|
}; |
212 |
|
|
213 |
|
} //namespace oopse |