NAMD
ComputeTclBC.h
Go to the documentation of this file.
1 
7 #ifndef COMPUTETCLBC_H
8 #define COMPUTETCLBC_H
9 
10 
11 #include "ComputeHomePatches.h"
12 #include "ReductionMgr.h"
13 #include "Tensor.h"
14 #ifdef NAMD_TCL
15 #include <tcl.h>
16 #endif
17 
18 #if !defined(WIN32) && !defined(__CYGWIN__)
19 #include <strings.h>
20 #endif
21 
22 class ComputeMgr;
23 
25 
26 public:
28  virtual ~ComputeTclBC();
29  void doWork();
30 
31 private:
32  int wrapmode;
33  Lattice *lattice;
34 
35  ResizeArray<char> drops;
36  void cleardrops() {
37  memset((void*)drops.begin(), 0, drops.size()*sizeof(char));
38  }
39 
41  int i_atom, n_atom;
42  CompAtom *atoms;
43  FullAtom *fullatoms;
44  Force *forces;
45  BigReal energy;
46  SubmitReduction *reduction;
47 
48 #ifdef NAMD_TCL
49  Tcl_Interp *interp;
50  static int Tcl_print(ClientData, Tcl_Interp *, int, const char **);
51  static int Tcl_wrapmode(ClientData, Tcl_Interp *, int, const char **);
52  static int Tcl_cleardrops(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
53  static int Tcl_dropatom(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
54  static int Tcl_nextatom(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
55  static int Tcl_getcoord(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
56  static int Tcl_getcell(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
57  static int Tcl_getmass(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
58  static int Tcl_getcharge(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
59  static int Tcl_getid(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
60  static int Tcl_addforce(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
61  static int Tcl_addenergy(ClientData, Tcl_Interp *, int, Tcl_Obj * const []);
62 #endif
63 
64 };
65 
66 #endif
67 
68 
69 
70 
71 
72 
73 
int size(void) const
Definition: ResizeArray.h:131
int32 ComputeID
Definition: NamdTypes.h:288
Definition: Vector.h:72
virtual ~ComputeTclBC()
Definition: ComputeTclBC.C:90
void doWork()
Definition: ComputeTclBC.C:98
iterator begin(void)
Definition: ResizeArray.h:36
double BigReal
Definition: common.h:123
ComputeTclBC(ComputeID c)
Definition: ComputeTclBC.C:24