126 |
|
//error |
127 |
|
std::cerr << "size does not match"<< std::endl; |
128 |
|
} |
129 |
+ |
|
130 |
+ |
if (storageLayout_ & dslSkippedCharge && skippedCharge.size() != size_) { |
131 |
+ |
//error |
132 |
+ |
std::cerr << "size does not match"<< std::endl; |
133 |
+ |
} |
134 |
|
|
135 |
|
return size_; |
136 |
|
|
190 |
|
internalResize(electricField, newSize); |
191 |
|
} |
192 |
|
|
193 |
+ |
if (storageLayout_ & dslSkippedCharge) { |
194 |
+ |
internalResize(skippedCharge, newSize); |
195 |
+ |
} |
196 |
+ |
|
197 |
|
size_ = newSize; |
198 |
|
} |
199 |
|
|
248 |
|
|
249 |
|
if (storageLayout_ & dslElectricField) { |
250 |
|
electricField.reserve(size); |
251 |
+ |
} |
252 |
+ |
|
253 |
+ |
if (storageLayout_ & dslSkippedCharge) { |
254 |
+ |
skippedCharge.reserve(size); |
255 |
|
} |
256 |
|
|
257 |
|
} |
312 |
|
if (storageLayout_ & dslElectricField) { |
313 |
|
internalCopy(electricField, source, num, target); |
314 |
|
} |
315 |
+ |
|
316 |
+ |
if (storageLayout_ & dslSkippedCharge) { |
317 |
+ |
internalCopy(skippedCharge, source, num, target); |
318 |
+ |
} |
319 |
|
} |
320 |
|
|
321 |
|
int DataStorage::getStorageLayout() { |
381 |
|
case dslElectricField: |
382 |
|
return internalGetArrayPointer(electricField); |
383 |
|
break; |
384 |
+ |
|
385 |
+ |
case dslSkippedCharge: |
386 |
+ |
return internalGetArrayPointer(skippedCharge); |
387 |
+ |
break; |
388 |
|
|
389 |
|
default: |
390 |
|
//error message |
494 |
|
if (layout & dslElectricField) { |
495 |
|
bytes += sizeof(Vector3d); |
496 |
|
} |
497 |
+ |
if (layout & dslSkippedCharge) { |
498 |
+ |
bytes += sizeof(RealType); |
499 |
+ |
} |
500 |
|
|
501 |
|
return bytes; |
502 |
|
} |