IMDOutput.h

Go to the documentation of this file.
00001 
00007 #ifndef IMD_OUTPUT_H__
00008 #define IMD_OUTPUT_H__
00009 
00010 #include "imd.h"
00011 class FloatVector;
00012 class GlobalMasterIMD;
00013 
00014 // IMDOutput
00015 // This object's only reason for existence is to forward energies and 
00016 // coordinates to GlobalMasterIMD for export to connected IMD connections.
00017 // If Controller could access GlobalMasterIMD directly we wouldn't need
00018 // need this.
00019 
00020 class IMDOutput {
00021 
00022 public:
00023   IMDOutput();   
00024   ~IMDOutput();
00025 
00026   // The GlobalMasterIMD instance passes itself to this object so it can
00027   // receive energies and coordinates.
00028   void use_imd(GlobalMasterIMD *);
00029 
00030   // gather_* are called by Controller with the current timesteps and
00031   // energies.
00032   void gather_energies(IMDEnergies *energies); 
00033   void gather_coordinates(int timestep, int N, FloatVector *coords);
00034 
00035   // called by GlobalMasterIMD to set the transfer rate.  Should probably
00036   // be handled internally by GlobalMasterIMD instead.
00037   void set_transrate(int newrate) {transrate = newrate; }
00038 
00039 private:
00040   GlobalMasterIMD *imd;
00041   int transrate;
00042   int ignore;
00043 };
00044 
00045 #endif
00046 

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