NAMD
ComputeGromacsPair.h
Go to the documentation of this file.
1 
8 #ifndef COMPUTEGROMACSPAIR_H
9 #define COMPUTEGROMACSPAIR_H
10 
11 #include "common.h"
12 #include "NamdTypes.h"
13 #include "Molecule.h"
14 #include "ReductionMgr.h"
15 #include "ComputeHomeTuples.h"
16 #include "ComputeSelfTuples.h"
17 
18 class TuplePatchElem;
19 
20 //class Molecule;
21 //class GromacsPairValue;
22 
24 public:
25  // ComputeHomeTuples interface
26  enum { size = 2 };
31  static void computeForce(GromacsPairElem*, int, BigReal*, BigReal *);
32  //void doWork();
33 
34  static void getMoleculePointers(Molecule*, int*, int32***, GromacsPair**);
35  //static void getParameterPointers(Parameters*, const GromacsPairValue**);
36  static void getParameterPointers(Parameters*, const GromacsPairValue**);
37  static void getTupleInfo(AtomSignature* sig, int *count, TupleSignature** t) {
38  *count = sig->gromacsPairCnt;
39  *t = sig->gromacsPairSigs;
40  }
41 
42  // pressure profile parameters
47 
48  int hash() const { return 0x7FFFFFFF & ( (atomID[0]<<16) + (atomID[1])); }
49 
50  // Internal data
52 
54 
57  inline GromacsPairElem();
58  inline GromacsPairElem(AtomID atom0, const TupleSignature *sig, const GromacsPairValue *v);
59  inline GromacsPairElem(const GromacsPair *a, const GromacsPairValue *v);
60  inline GromacsPairElem(AtomID atom0, AtomID atom1);
62 
63  inline int operator==(const GromacsPairElem &a) const;
64  inline int operator<(const GromacsPairElem &a) const;
65 };
66 
67 class ComputeGromacsPair : public ComputeHomeTuples<GromacsPairElem,GromacsPair,GromacsPairValue>
68 {
69 public:
70 
72 
73 };
74 
75 class ComputeSelfGromacsPair : public ComputeSelfTuples<GromacsPairElem,GromacsPair,GromacsPairValue>
76 {
77 public:
78 
80 
81 };
82 
83 #include "ComputeGromacsPair.inl"
84 
85 #endif
int operator==(const GromacsPairElem &a) const
static void getParameterPointers(Parameters *, const GromacsPairValue **)
TuplePatchElem * p[size]
static int pressureProfileSlabs
ComputeSelfGromacsPair(ComputeID c, PatchID p)
const GromacsPairValue * value
short int32
Definition: dumpdcd.c:24
int ComputeID
Definition: NamdTypes.h:183
int AtomID
Definition: NamdTypes.h:29
static void computeForce(GromacsPairElem *, int, BigReal *, BigReal *)
float Real
Definition: common.h:109
ComputeGromacsPair(ComputeID c, PatchIDList &p)
static void submitReductionData(BigReal *, SubmitReduction *)
TupleSignature * gromacsPairSigs
Definition: structures.h:339
int PatchID
Definition: NamdTypes.h:182
int operator<(const GromacsPairElem &a) const
AtomID atomID[size]
static int pressureProfileAtomTypes
static void getMoleculePointers(Molecule *, int *, int32 ***, GromacsPair **)
static BigReal pressureProfileThickness
static void getTupleInfo(AtomSignature *sig, int *count, TupleSignature **t)
static BigReal pressureProfileMin
int gromacsPairCnt
Definition: structures.h:331
double BigReal
Definition: common.h:114