00001 00007 #ifndef COMPUTEGLOBALMSGS_H 00008 #define COMPUTEGLOBALMSGS_H 00009 00010 #include "charm++.h" 00011 00012 #include "NamdTypes.h" 00013 #include "ComputeMgr.decl.h" 00014 00015 #if 0 00016 class ComputeGlobalConfigMsg : public CMessage_ComputeGlobalConfigMsg { 00017 public: 00018 // data members 00019 AtomIDList aid; 00020 AtomIDList gdef; // group definitions 00021 00022 // constructor and destructor 00023 ComputeGlobalConfigMsg(void); 00024 ~ComputeGlobalConfigMsg(void); 00025 00026 // pack and unpack functions 00027 static void* pack(ComputeGlobalConfigMsg *msg); 00028 static ComputeGlobalConfigMsg* unpack(void *ptr); 00029 }; 00030 #endif 00031 00032 00033 class ComputeGlobalDataMsg : public CMessage_ComputeGlobalDataMsg { 00034 public: 00035 // data members 00036 int step; 00037 AtomIDList aid; 00038 PositionList p; 00039 PositionList gcom; // group center of mass 00040 AtomIDList fid; 00041 ForceList tf; 00042 00043 // constructor and destructor 00044 ComputeGlobalDataMsg(void); 00045 ~ComputeGlobalDataMsg(void); 00046 00047 // pack and unpack functions 00048 static void* pack(ComputeGlobalDataMsg *msg); 00049 static ComputeGlobalDataMsg* unpack(void *ptr); 00050 }; 00051 00052 00053 class ComputeGlobalResultsMsg : public CMessage_ComputeGlobalResultsMsg { 00054 public: 00055 // data members 00056 AtomIDList aid; 00057 ForceList f; 00058 ForceList gforce; // force on group 00059 00060 int reconfig; 00061 00062 /* If <resendCoordinates> is 1, this message indicates a request for 00063 another set of coordinates (a ComputeGlobalDataMessage) during 00064 this timestep. It may be 1 even if reconfig was not set, 00065 though there is no particular reason to do that. A 1 here also 00066 indicates that the ComputeGlobal should ignore any forces 00067 included in this message, and wait instead for the next Results 00068 Message to come in. */ 00069 int resendCoordinates; 00070 00071 AtomIDList newaid; 00072 AtomIDList newgdef; 00073 00074 // constructor and destructor 00075 ComputeGlobalResultsMsg(void); 00076 ~ComputeGlobalResultsMsg(void); 00077 00078 // pack and unpack functions 00079 static void* pack(ComputeGlobalResultsMsg *msg); 00080 static ComputeGlobalResultsMsg* unpack(void *ptr); 00081 00082 }; 00083 00084 00085 #endif 00086
1.3.9.1