group Observer

Observers and ObserverFeatures.

ObserverFeatures are added to the ObserverModule to check for detection and perform actions on detection.

class ObserverFeature : public Referenced
#include <Observer.h>

Abstract base class for features of observers.

Subclassed by Observer1D, ObserverDetectAll, ObserverElectronVeto, ObserverInactiveVeto, ObserverNeutrinoVeto, ObserverNucleusVeto, ObserverParticleIdVeto, ObserverPhotonVeto, ObserverRedshiftWindow, ObserverSurface, ObserverTimeEvolution, ObserverTracking

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

General particle observer.

class ObserverDetectAll : public ObserverFeature
#include <Observer.h>

Detects all particles.

class ObserverSurface : public ObserverFeature
#include <Observer.h>

Detects particles crossing the boundaries of a defined surface (see, e.g., Geometry module)

class ObserverTracking : public ObserverFeature
#include <Observer.h>

Tracks particles inside a sphere.

class Observer1D : public ObserverFeature
#include <Observer.h>

Detects particles when reaching x = 0.

This module detects particles when reaching x = 0 and also limits the next step size to prevent candidates from overshooting.

class ObserverRedshiftWindow : public ObserverFeature
#include <Observer.h>

Detects particles in a given redshift window.

When added to an observer, this feature generalizes it to four dimensions. The fourth dimension is the redshift, a proxy for time. This is particularly useful in “4D” studies, including either time-dependence (e.g. flaring objects), or in 3D studies including cosmological evolution. Note that redshifts should be assigned to sources when using this feature. This can be done with: SourceRedshift, SourceRedshift1D, SourceUniformRedshift, and SourceRedshiftEvolution.

class ObserverInactiveVeto : public ObserverFeature
#include <Observer.h>

Veto for inactive candidates.

class ObserverNucleusVeto : public ObserverFeature
#include <Observer.h>

Veto for nuclei (including protons and neutrons)

class ObserverNeutrinoVeto : public ObserverFeature
#include <Observer.h>

Veto for neutrinos.

class ObserverPhotonVeto : public ObserverFeature
#include <Observer.h>

Veto for photons.

class ObserverElectronVeto : public ObserverFeature
#include <Observer.h>

Veto for electrons and positrons.

class ObserverParticleIdVeto : public ObserverFeature
#include <Observer.h>

Custom veto for user-defined particle types Vetoes for more than one type of particle can be added by calling this feature multiple times.

class ObserverTimeEvolution : public ObserverFeature
#include <Observer.h>

Observes the time evolution of the candidates (phase-space elements) This observer is very useful if the time evolution of the particle density is needed. It detects all candidates in lin-spaced, log-spaced, or user-defined time intervals and limits the nextStep of candidates to prevent overshooting of detection intervals.