00001 00007 /* 00008 Compute object which deals with a single patch. 00009 */ 00010 00011 #ifndef COMPUTEHOMEPATCH_H 00012 #define COMPUTEHOMEPATCH_H 00013 00014 #include "Compute.h" 00015 #include "PatchTypes.h" 00016 00017 #include "Box.h" 00018 #include "OwnerBox.h" 00019 00020 class Patch; 00021 class HomePatch; 00022 class Node; 00023 class PatchMap; 00024 00025 class ComputeHomePatch : public Compute { 00026 00027 public: 00028 ComputeHomePatch(ComputeID c, PatchID pid); 00029 virtual ~ComputeHomePatch(); 00030 00031 virtual void initialize(); 00032 virtual void atomUpdate(); 00033 virtual void doWork(); 00034 00035 protected : 00036 int numAtoms; 00037 virtual void doForce(FullAtom* p, Results* r) = 0; 00038 Patch *patch; 00039 HomePatch *homePatch; 00040 00041 private: 00042 PatchID patchID; 00043 Box<Patch,CompAtom> *positionBox; 00044 Box<Patch,Results> *forceBox; 00045 00046 }; 00047 00048 #endif 00049
1.3.9.1