Class ReflectiveBox

Inheritance Relationships

Base Type

Class Documentation

class ReflectiveBox : public Module

Rectangular box with reflective boundaries.

If a particle passes on of the sides it is reflected back inside (position and velocity) and its initial position changed as if the particle had come from that side. This implements periodic boundaries, that keep the particle inside the box and instead move the source away reflectively. Particles can overshoot (be outside of the box during the step) since the step size is not limited by this module.

Public Functions

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

Protected Attributes

size_t _referenceCount