24 #include "../Atomicrex.h" 28 class AtomicStructure;
43 BOOST_ASSERT(bondDataPtr !=
nullptr);
44 return *
static_cast<T*
>(bondDataPtr);
48 const T& bondData()
const {
49 BOOST_ASSERT(bondDataPtr !=
nullptr);
50 return *
static_cast<const T*
>(bondDataPtr);
79 BOOST_ASSERT(atomIndex >= 0 && atomIndex < _firstNeighbor.size());
80 return &_neighborList[_firstNeighbor[atomIndex]];
85 BOOST_ASSERT(atomIndex >= 0 && atomIndex < _firstNeighbor.size());
86 return &_neighborList[_firstNeighbor[atomIndex]];
102 std::vector<int> _ilist;
104 std::vector<int> _numNeighborsHalf;
106 std::vector<int> _numNeighborsFull;
108 std::vector<int> _firstNeighbor;
110 std::vector<NeighborListEntry> _neighborList;
112 std::vector<unsigned char> _perBondPotentialData;
Base class for maintaining structures.
Definition: AtomicStructure.h:42
Definition: NeighborList.h:31
NeighborList()
Constructor.
Definition: NeighborList.h:63
Definition: NeighborList.h:58
NeighborListEntry * neighborList(int atomIndex)
Returns a pointer to the first entry in the neighbor list of the given real atom. ...
Definition: NeighborList.h:78
int numNeighborsFull(int atomIndex) const
Returns the number of neighbors of a real atom (full neighbor list).
Definition: NeighborList.h:75
int atomIndex(int i) const
Returns the index of the i-th atom in this neighbor list.
Definition: NeighborList.h:69
This file collects the definition of classes that define various simple crystal structures.
Definition: Atomicrex.h:67
int numAtoms() const
Returns the number of atoms included in this neighbor list.
Definition: NeighborList.h:66
const NeighborListEntry * neighborList(int atomIndex) const
Returns a const-pointer to the first entry in the neighbor list of the given real atom...
Definition: NeighborList.h:84
int numNeighborsHalf(int atomIndex) const
Returns the number of neighbors of a real atom (half neighbor list).
Definition: NeighborList.h:72
Base class for potential.
Definition: Potential.h:41