Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ScriptTcl.h

Go to the documentation of this file.
00001 
00007 /*
00008    Modifies SimParameters settings during run.
00009 */
00010 
00011 #ifndef SCRIPTTCL_H
00012 #define SCRIPTTCL_H
00013 
00014 #include "converse.h"
00015 #include "NamdTypes.h"
00016 #include "Broadcasts.h"
00017 
00018 #ifdef NAMD_TCL
00019 #define USE_COMPAT_CONST
00020 #include <tcl.h>
00021 #endif
00022 
00023 class ConfigList;
00024 class NamdState;
00025 
00026 class ScriptTcl {
00027 public:
00028   ScriptTcl();
00029   ~ScriptTcl();
00030   void load(char *scriptFile);
00031   void run(char *scriptFile);
00032   void measure(Vector *);
00033 private:
00034   char *scriptFile;
00035   ConfigList *config;
00036   NamdState *state;
00037   void suspend(void);
00038   int runWasCalled;
00039   void barrier();
00040   void initcheck();
00041   void reinitAtoms();
00042   SimpleBroadcastObject<int> scriptBarrier;
00043   int barrierStep;
00044   void runController(int task);
00045   void setParameter(const char* param, const char* value);
00046   void setParameter(const char* param, int value);
00047 #ifdef NAMD_TCL
00048   friend class Controller;
00049   friend class GlobalMasterTcl;
00050   Tcl_Interp *interp;
00051   static int Tcl_exit(ClientData, Tcl_Interp *, int, char **);
00052   static int Tcl_abort(ClientData, Tcl_Interp *, int, char **);
00053   static int Tcl_print(ClientData, Tcl_Interp *, int, char **);
00054   static int Tcl_config(ClientData, Tcl_Interp *, int, char **);
00055   static int Tcl_param(ClientData, Tcl_Interp *, int, char **);
00056   static int Tcl_reinitvels(ClientData, Tcl_Interp *, int, char **);
00057   static int Tcl_rescalevels(ClientData, Tcl_Interp *, int, char **);
00058   static int Tcl_run(ClientData, Tcl_Interp *, int, char **);
00059   static int Tcl_minimize(ClientData, Tcl_Interp *, int, char **);
00060   static int Tcl_move(ClientData, Tcl_Interp *, int, char **);
00061   static int Tcl_moveallby(ClientData, Tcl_Interp *, int, char **);
00062   static int Tcl_output(ClientData, Tcl_Interp *, int, char **);
00063   static int Tcl_measure(ClientData, Tcl_Interp *, int, char **);
00064   static int Tcl_checkpoint(ClientData, Tcl_Interp *, int, char **);
00065   static int Tcl_revert(ClientData, Tcl_Interp *, int, char **);
00066   static int Tcl_callback(ClientData, Tcl_Interp *, int, char **);
00067   static int Tcl_reinitatoms(ClientData, Tcl_Interp *, int, char **);
00068   static int Tcl_coorfile(ClientData, Tcl_Interp *, int, char **);
00069   static int Tcl_dumpbench(ClientData, Tcl_Interp *, int, char **);
00070   static int Tcl_consForceConfig(ClientData, Tcl_Interp *, int, Tcl_Obj *const objv[]);
00071   static int Tcl_reloadCharges(ClientData, Tcl_Interp *, int, char **);
00072   char *callbackname;
00073   void doCallback(const char *labels, const char *data);
00074   int doCallback() { return ! ! callbackname; }
00075   char *measure_command;
00076   int measure_result;
00077 #endif
00078 };
00079 
00080 #endif
00081 

Generated on Fri Aug 29 04:07:41 2008 for NAMD by  doxygen 1.3.9.1