| 69 |  | class Snapshot { | 
| 70 |  | public: | 
| 71 |  |  | 
| 72 | < | Snapshot(int nAtoms, int nRigidbodies) : atomData(nAtoms), rigidbodyData(nRigidbodies), | 
| 73 | < | currentTime_(0), orthoTolerance_(1e-6), orthoRhombic_(0), chi_(0.0), integralOfChiDt_(0.0), eta_(0.0), id_(-1), hasCOM_(false) { | 
| 72 | > | Snapshot(int nAtoms, int nRigidbodies) : atomData(nAtoms), | 
| 73 | > | rigidbodyData(nRigidbodies), | 
| 74 | > | currentTime_(0), | 
| 75 | > | orthoTolerance_(1e-6), | 
| 76 | > | orthoRhombic_(0), | 
| 77 | > | chi_(0.0), | 
| 78 | > | integralOfChiDt_(0.0), | 
| 79 | > | eta_(0.0), id_(-1), | 
| 80 | > | hasCOM_(false), hasVolume_(false), volume_(0.0) { | 
| 81 |  |  | 
| 82 |  | } | 
| 83 |  |  | 
| 84 |  | Snapshot(int nAtoms, int nRigidbodies, int storageLayout) | 
| 85 | < | : atomData(nAtoms, storageLayout), rigidbodyData(nRigidbodies, storageLayout), | 
| 86 | < | currentTime_(0), orthoTolerance_(1e-6), orthoRhombic_(0), chi_(0.0), integralOfChiDt_(0.0), eta_(0.0), id_(-1), hasCOM_(false)  { | 
| 85 | > | : atomData(nAtoms, storageLayout), | 
| 86 | > | rigidbodyData(nRigidbodies, storageLayout), | 
| 87 | > | currentTime_(0), orthoTolerance_(1e-6), orthoRhombic_(0), chi_(0.0), | 
| 88 | > | integralOfChiDt_(0.0), eta_(0.0), id_(-1), hasCOM_(false), hasVolume_(false),volume_(0.0)  { | 
| 89 |  |  | 
| 90 |  | } | 
| 91 |  |  | 
| 122 |  | void setHmat(const Mat3x3d& m); | 
| 123 |  |  | 
| 124 |  | RealType getVolume() { | 
| 125 | < | return hmat_.determinant(); | 
| 125 | > | if (hasVolume_){ | 
| 126 | > | return volume_; | 
| 127 | > | }else{ | 
| 128 | > | return hmat_.determinant(); | 
| 129 | > | } | 
| 130 |  | } | 
| 131 |  |  | 
| 132 | + | void setVolume(RealType volume){ | 
| 133 | + | hasVolume_=true; | 
| 134 | + | volume_ = volume; | 
| 135 | + | } | 
| 136 | + |  | 
| 137 |  | /** Returns the inverse H-Matrix */ | 
| 138 |  | Mat3x3d getInvHmat() { | 
| 139 |  | return invHmat_; | 
| 210 |  | Mat3x3d invHmat_; | 
| 211 |  | RealType orthoTolerance_; | 
| 212 |  | int orthoRhombic_; | 
| 213 | + | RealType volume_; | 
| 214 |  |  | 
| 215 |  | RealType chi_; | 
| 216 |  | RealType integralOfChiDt_; | 
| 218 |  | Vector3d COM_; | 
| 219 |  | Vector3d COMvel_; | 
| 220 |  | Vector3d COMw_; | 
| 221 | + | int id_; /**< identification number of the snapshot */ | 
| 222 |  | bool hasCOM_; | 
| 223 | + | bool hasVolume_; | 
| 224 |  |  | 
| 204 | – | int id_; /**< identification number of the snapshot */ | 
| 225 |  | }; | 
| 226 |  |  | 
| 227 |  | typedef DataStorage (Snapshot::*DataStoragePointer); |