Condition

group Condition

Propagation boundaries and breaking conditions.

Conditions are set of modules similar to the Observer as they can perform an action if fulfilled.

class PeriodicBox : public Module
#include <Boundary.h>

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.

class ReflectiveBox : public Module
#include <Boundary.h>

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.

class CubicBoundary : public AbstractCondition
#include <Boundary.h>

Flags a particle when exiting the cube.

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).

class SphericalBoundary : public AbstractCondition
#include <Boundary.h>

Flag a particle when leaving the sphere.

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).

class EllipsoidalBoundary : public AbstractCondition
#include <Boundary.h>

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).

class CylindricalBoundary : public AbstractCondition
#include <Boundary.h>

Flags a particle when leaving the cylinder whose axis is along the z-axis. This module flags particles when outside of the cylinder, defined by a radius and a height. The particle is made inactive and by default is flagged “OutOfBounds”. Optionally the module can ensure the candidate does not overshoot the boundary by more than a set margin.

class MaximumTrajectoryLength : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate beyond a maximum trajectory length.

This module deactivates the candidate at a given maximum trajectory length. In that case the property (“Deactivated”, module::description) is set. It also limits the candidates next step size to ensure the maximum trajectory length is not exceeded.

class MinimumEnergy : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate below a minimum energy.

This module deactivates the candidate below a given minimum energy. In that case the property (“Deactivated”, module::description) is set.

class MinimumRigidity : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate below a minimum rigidity.

This module deactivates the candidate below a given minimum rigidity (E/Z in EeV). In that case the property (“Deactivated”, module::description) is set.

class MinimumRedshift : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate below a minimum redshift.

This module deactivates the candidate below a given minimum redshift. In that case the property (“Deactivated”, module::description) is set.

class MinimumChargeNumber : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate below a minimum number.

This module deactivates the candidate below a given minimum charge number. A minimum charge number of 26 deactivates all (anti-) isotopes which are ranked in the periodic table before iron (Fe). In that case the property (“Deactivated”, module::description) is set.

class MinimumEnergyPerParticleId : public AbstractCondition
#include <BreakCondition.h>

Deactivates the candidate below a minimum energy for specific particle Ids.

This module deactivates the candidate below a given minimum energy for specific particle types. In that case the property (“Deactivated”, module::description) is set. All particles whose minimum energy is not specified follow the more general minEnergyOthers condition.

class DetectionLength : public AbstractCondition
#include <BreakCondition.h>

Detects the candidate at a given trajectoryLength.

This break condition can be used for non-regular time observation of the particle density. See also ObserverTimeEvolution.

class RestrictToRegion : public Module
#include <RestrictToRegion.h>

Limit Module to region in simulation.