Class EllipsoidalBoundary

Inheritance Relationships

Base Type

Class Documentation

class EllipsoidalBoundary : public AbstractCondition

Flags a particle when leaving the ellipsoid.

This module flags particles when outside of the ellipsoid, defined by two focal points and a major axis (length). The particle is made inactive and flagged as “Rejected”. By default the module prevents overshooting the boundary by more than a margin of 0.1 kpc. This corresponds to the default minimum step size of the propagation modules (PropagationCK and SimplePropagation).

Public Functions

EllipsoidalBoundary()
EllipsoidalBoundary(Vector3d focalPoint1, Vector3d focalPoint2, double majorAxis)
void process(Candidate *candidate) const
void setFocalPoints(Vector3d focalPoint1, Vector3d focalPoint2)
void setMajorAxis(double size)
void setMargin(double margin)
void setLimitStep(bool limitStep)
std::string getDescription() const
void onReject(Module *rejectAction)
void onAccept(Module *acceptAction)
void setMakeRejectedInactive(bool makeInactive)
void setMakeAcceptedInactive(bool makeInactive)
void setRejectFlag(std::string key, std::string value)
void setAcceptFlag(std::string key, std::string value)
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 Functions

void reject(Candidate *candidate) const
void reject(ref_ptr<Candidate> candidate) const
void accept(Candidate *candidate) const
void accept(ref_ptr<Candidate> candidate) const

Protected Attributes

ref_ptr<Module> rejectAction
ref_ptr<Module> acceptAction
bool makeRejectedInactive
bool makeAcceptedInactive
std::string rejectFlagKey
std::string rejectFlagValue
std::string acceptFlagKey
std::string acceptFlagValue
size_t _referenceCount