NAMD
LJTable.h
Go to the documentation of this file.
1 
7 #ifndef LJTABLE_H
8 #define LJTABLE_H
9 
10 #include "common.h"
11 #include "ProcessorPrivate.h"
12 
13 class LJTable
14 {
15 public:
16  struct TableEntry
17  {
18  // BigReal exclcut2;
19 #if defined(NAMD_KNL) || defined(NAMD_AVXTILES)
20  float A,B;
21 #else
24 #endif
25  };
26 
27  LJTable(void);
28 
29  ~LJTable(void);
30 
31  const TableEntry *table_row(unsigned int i) const {
32  return table + 2 * (i * table_dim);
33  }
34 
35  const TableEntry *table_val(unsigned int i, unsigned int j) const {
36  return table + 2 * (i * table_dim + j);
37  }
38 
39  const TableEntry *table_val_scale14(unsigned int i, unsigned int j) const {
40  return table + 2 * (i * table_dim + j) + 1;
41  }
42 
43  const TableEntry *get_table() const { return table; }
44  int get_table_dim() const { return table_dim; }
45 
46 private:
47 
48  void compute_vdw_params(int i, int j,
49  TableEntry *cur, TableEntry *cur_scaled);
50 
51  char *table_alloc;
52  TableEntry *table;
53  unsigned int table_dim;
54 
55 };
56 
57 #endif
58 
int get_table_dim() const
Definition: LJTable.h:44
const TableEntry * table_val(unsigned int i, unsigned int j) const
Definition: LJTable.h:35
const TableEntry * table_val_scale14(unsigned int i, unsigned int j) const
Definition: LJTable.h:39
~LJTable(void)
Definition: LJTable.C:46
const TableEntry * get_table() const
Definition: LJTable.h:43
LJTable(void)
Definition: LJTable.C:16
const TableEntry * table_row(unsigned int i) const
Definition: LJTable.h:31
double BigReal
Definition: common.h:114