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 eval(char *script);
00031   void load(char *scriptFile);
00032 #ifdef NAMD_TCL
00033   void run();
00034 #else
00035   void run(char *scriptFile);
00036 #endif
00037   void measure(Vector *);
00038 private:
00039   char *scriptFile;
00040   ConfigList *config;
00041   NamdState *state;
00042   void suspend(void);
00043   int runWasCalled;
00044   int initWasCalled;
00045   void barrier();
00046   void initcheck();
00047   void reinitAtoms();
00048   SimpleBroadcastObject<int> scriptBarrier;
00049   int barrierStep;
00050   void runController(int task);
00051   void setParameter(const char* param, const char* value);
00052   void setParameter(const char* param, int value);
00053 #ifdef NAMD_TCL
00054   friend class Controller;
00055   friend class GlobalMasterTcl;
00056   Tcl_Interp *interp;
00057   static int Tcl_exit(ClientData, Tcl_Interp *, int, char **);
00058   static int Tcl_abort(ClientData, Tcl_Interp *, int, char **);
00059   static int Tcl_numPes(ClientData, Tcl_Interp *, int, char **);
00060   static int Tcl_numNodes(ClientData, Tcl_Interp *, int, char **);
00061   static int Tcl_numPhysicalNodes(ClientData, Tcl_Interp *, int, char **);
00062   static int Tcl_numReplicas(ClientData, Tcl_Interp *, int, char **);
00063   static int Tcl_myReplica(ClientData, Tcl_Interp *, int, char **);
00064   static int Tcl_replicaSendrecv(ClientData, Tcl_Interp *, int, char **);
00065   static int Tcl_replicaSend(ClientData, Tcl_Interp *, int, char **);
00066   static int Tcl_replicaRecv(ClientData, Tcl_Interp *, int, char **);
00067   static int Tcl_replicaBarrier(ClientData, Tcl_Interp *, int, char **);
00068   static int Tcl_print(ClientData, Tcl_Interp *, int, char **);
00069   static int Tcl_config(ClientData, Tcl_Interp *, int, char **);
00070   static int Tcl_param(ClientData, Tcl_Interp *, int, char **);
00071   static int Tcl_reinitvels(ClientData, Tcl_Interp *, int, char **);
00072   static int Tcl_rescalevels(ClientData, Tcl_Interp *, int, char **);
00073   static int Tcl_run(ClientData, Tcl_Interp *, int, char **);
00074   static int Tcl_minimize(ClientData, Tcl_Interp *, int, char **);
00075   static int Tcl_move(ClientData, Tcl_Interp *, int, char **);
00076   static int Tcl_moveallby(ClientData, Tcl_Interp *, int, char **);
00077   static int Tcl_output(ClientData, Tcl_Interp *, int, char **);
00078   static int Tcl_measure(ClientData, Tcl_Interp *, int, char **);
00079   static int Tcl_colvarbias(ClientData, Tcl_Interp *, int, char **);
00080   static int Tcl_checkpoint(ClientData, Tcl_Interp *, int, char **);
00081   static int Tcl_revert(ClientData, Tcl_Interp *, int, char **);
00082   static int Tcl_callback(ClientData, Tcl_Interp *, int, char **);
00083   static int Tcl_reinitatoms(ClientData, Tcl_Interp *, int, char **);
00084   static int Tcl_coorfile(ClientData, Tcl_Interp *, int, char **);
00085   static int Tcl_dumpbench(ClientData, Tcl_Interp *, int, char **);
00086   static int Tcl_consForceConfig(ClientData, Tcl_Interp *, int, Tcl_Obj *const objv[]);
00087   static int Tcl_reloadCharges(ClientData, Tcl_Interp *, int, char **);
00088   static int Tcl_reloadGridforceGrid(ClientData, Tcl_Interp *, int, char **);   // BEGIN, END gf
00089   char *callbackname;
00090   void doCallback(const char *labels, const char *data);
00091   int doCallback() { return ! ! callbackname; }
00092   char *measure_command;
00093   int measure_result;
00094 #endif
00095 };
00096 
00097 #endif
00098 

Generated on Fri May 25 04:07:17 2012 for NAMD by  doxygen 1.3.9.1