22 #ifndef __PLUMED_tools_Pbc_h
23 #define __PLUMED_tools_Pbc_h
64 void buildShifts(std::vector<Vector> shifts[2][2][2])
const;
Tensor invBox
Inverse box.
Class implementing fixed size matrices of doubles.
enum PLMD::Pbc::@6 type
Type of box.
Class implementing fixed size vectors of doubles.
Vector scaledToReal(const Vector &) const
Transform a vector in scaled coordinates to a vector in real space.
Tensor reduced
Reduced box.
Vector diag
Alternative representation for orthorombic cells.
Tensor invReduced
Inverse of the reduced box.
Vector distance(const Vector &, const Vector &, int *nshifts) const
internal version of distance, also returns the number of attempted shifts (used in Pbc::test())...
std::vector< Vector > shifts[2][2][2]
List of shifts that should be attempted.
const Tensor & getInvBox() const
Returns the inverse matrix of box.
static void test()
Perform some check. Useful for debugging.
void buildShifts(std::vector< Vector > shifts[2][2][2]) const
Build list of shifts.
void fullSearch(Vector &) const
Full search (for testing)
bool isOrthorombic() const
Returns true if the box vectors are orthogonal.
Vector realToScaled(const Vector &) const
Transform a vector in real space to a vector in scaled coordinates.
const Tensor & getBox() const
Returns the box.
void setBox(const Tensor &b)
Set the lattice vectors.