1 #include "SystemCompareForce.h" 2 #include "ScalarStructure.h" 3 #include "Vector3DBlock.h" 4 #include "GenericTopology.h" 5 using std::vector; 6 using std::string; 7 using namespace ProtoMol::Report; 8 9 namespace ProtoMol { 10 11 //_________________________________________________________________ SystemCompareForce 12 SystemCompareForce(Force * actualForce,CompareForce * compareForce)13 SystemCompareForce::SystemCompareForce(Force* actualForce, CompareForce* compareForce):CompareForce(actualForce,compareForce){} evaluate(const GenericTopology * topo,const Vector3DBlock * positions,Vector3DBlock * forces,ScalarStructure * energies)14 void SystemCompareForce::evaluate(const GenericTopology* topo, 15 const Vector3DBlock* positions, 16 Vector3DBlock* forces, 17 ScalarStructure* energies){ 18 preprocess(positions->size()); 19 (dynamic_cast<SystemForce*>(myActualForce))->evaluate(topo, 20 positions, 21 myForces, 22 myEnergies); 23 postprocess(topo,forces,energies); 24 } 25 parallelEvaluate(const GenericTopology * topo,const Vector3DBlock * positions,Vector3DBlock * forces,ScalarStructure * energies)26 void SystemCompareForce::parallelEvaluate(const GenericTopology* topo, 27 const Vector3DBlock* positions, 28 Vector3DBlock* forces, 29 ScalarStructure* energies){ 30 preprocess(positions->size()); 31 (dynamic_cast<SystemForce*>(myActualForce))->parallelEvaluate(topo, 32 positions, 33 myForces, 34 myEnergies); 35 postprocess(topo,forces,energies); 36 } 37 38 } 39