Class PeriodicBox

Inheritance Relationships

Base Type

Class Documentation

class PeriodicBox : public Module

Rectangular box with periodic boundaries.

If a particle passes on of the sides it is placed at the opposite side and its initial (source) position changed accordingly. This implements periodic boundaries, that keep the particle inside the box and instead move the source away periodically. Particles can overshoot (be outside of the box during the step) since the step size is not limited by this module.

Public Functions


Default constructor

PeriodicBox(Vector3d origin, Vector3d size)


  • origin – vector corresponding to the lower box corner

  • size – vector corresponding to the box sizes along each direction

virtual void process(Candidate *candidate) const
void setOrigin(Vector3d origin)
void setSize(Vector3d size)
virtual std::string getDescription() const
void setDescription(const std::string &description)
inline void process(ref_ptr<Candidate> candidate) const
inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Attributes

mutable size_t _referenceCount