ComputePatch.h

Go to the documentation of this file.
00001 
00007 /*
00008    Compute object which deals with a single patch.
00009 */
00010 
00011 #ifndef COMPUTEPATCH_H
00012 #define COMPUTEPATCH_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 Node;
00022 class PatchMap;
00023 
00024 class ComputePatch : public Compute {
00025 
00026 public:
00027   ComputePatch(ComputeID c, PatchID pid);
00028   virtual ~ComputePatch();
00029 
00030   virtual void initialize();
00031   virtual void atomUpdate();
00032   virtual void doWork();
00033 
00034 protected :
00035   int numAtoms;
00036   CompAtomExt *pExt;
00037   CompAtom* p;
00038   Results* r;
00039 
00040   // DMK - Atom Separation (water vs. non-water)
00041   #if NAMD_SeparateWaters != 0
00042     int numWaterAtoms;
00043   #endif
00044 
00045   virtual void doForce(CompAtom* p, CompAtomExt* pExt, Results* r) = 0;
00046   Patch *patch;
00047 
00048 // private:
00049   PatchID patchID;
00050   Box<Patch,CompAtom> *positionBox;
00051   Box<Patch,Results> *forceBox;
00052 
00053 };
00054 
00055 #endif
00056 

Generated on Tue Sep 26 01:17:12 2017 for NAMD by  doxygen 1.4.7