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