NAMD
ComputeBonds.inl
Go to the documentation of this file.
1 
7 #ifndef COMPUTEBOND_INL
8 #define COMPUTEBOND_INL
9 
10 #include "ComputeBonds.h"
11 
12 inline BondElem::BondElem() { ; }
13 
14 inline BondElem::BondElem(AtomID atom0, const TupleSignature *sig, const BondValue *v){
15  atomID[0] = atom0;
16  atomID[1] = atom0 + sig->offset[0];
17  value = &v[sig->tupleParamType];
18 }
19 
20 inline BondElem::BondElem(const Bond *a, const BondValue *v)
21  {
22  atomID[0] = a->atom1;
23  atomID[1] = a->atom2;
24  value = &v[a->bond_type];
25  }
26 
27 inline BondElem::BondElem(AtomID atom0, AtomID atom1)
28  {
29  if (atom0 > atom1) { // Swap end atoms so lowest is first!
30  AtomID tmp = atom1; atom1 = atom0; atom0 = tmp;
31  }
32  atomID[0] = atom0;
33  atomID[1] = atom1;
34  }
35 
36 inline int BondElem::operator==(const BondElem &a) const
37  {
38  return (a.atomID[0] == atomID[0] && a.atomID[1] == atomID[1]);
39  }
40 
41 inline int BondElem::operator<(const BondElem &a) const
42  {
43  return (atomID[0] < a.atomID[0] ||
44  (atomID[0] == a.atomID[0] &&
45  (atomID[1] < a.atomID[1]) ));
46  }
47 
48 #endif
49 
int AtomID
Definition: NamdTypes.h:29
int operator==(const BondElem &a) const
AtomID atomID[size]
Definition: ComputeBonds.h:24
int32 atom1
Definition: structures.h:48
int operator<(const BondElem &a) const
Index tupleParamType
Definition: structures.h:202
const BondValue * value
Definition: ComputeBonds.h:46
Index bond_type
Definition: structures.h:50
int32 atom2
Definition: structures.h:49