# Source Features¶

group SourceFeatures

Source and SourceFeatures, i.e. properties of the partcle injection.

Sourcefeatures are added to sources and manipulate the properties of the emitted candidate.

class SourceFeature : public Referenced
#include <Source.h>

Abstract base class cosmic ray source features.

class SourceInterface : public Referenced
#include <Source.h>

Abstract base class for cosmic ray sources.

Subclassed by Source, SourceList

class Source : public SourceInterface
#include <Source.h>

General cosmic ray source.

This class is a container for source features. The source prepares a new candidate by passing it to all its source features to be modified accordingly.

class SourceList : public SourceInterface
#include <Source.h>

List of cosmic ray sources of individual lumosities.

The SourceList is a source itself. It can be used if several sources are needed in one simulation.

class SourceParticleType : public SourceFeature
#include <Source.h>

Particle type at the source.

class SourceMultipleParticleTypes : public SourceFeature
#include <Source.h>

Multiple particle types with individual relative abundances.

class SourceEnergy : public SourceFeature
#include <Source.h>

Sets the initial energy to a given value.

class SourcePowerLawSpectrum : public SourceFeature
#include <Source.h>

Particle energy following a power law spectrum.

class SourceComposition : public SourceFeature
#include <Source.h>

Multiple nuclei with power law spectrum between Emin and Z * Rmax.

See Allard et al. 2006, DOI 10.1088/1475-7516/2006/09/005

class SourcePosition : public SourceFeature
#include <Source.h>

Position of a point source.

class SourceMultiplePositions : public SourceFeature
#include <Source.h>

Multiple point source positions with individual luminosities.

class SourceUniformSphere : public SourceFeature
#include <Source.h>

Uniform random source positions inside a sphere.

class SourceUniformHollowSphere : public SourceFeature
#include <Source.h>

Uniform random source positions inside of a hollow sphere wall.

class SourceUniformShell : public SourceFeature
#include <Source.h>

Uniform random source positions on a sphere.

class SourceUniformBox : public SourceFeature
#include <Source.h>

Uniform random source positions inside a box.

class SourceUniformCylinder : public SourceFeature
#include <Source.h>

Uniform random source positions inside a Cylinder.

class SourceSNRDistribution : public SourceFeature
#include <Source.h>

Source distribution that follows the Galactic SNR distribution.

The origin of the distribution is the Galactic center. The default maximum radius is set to R_max=20 kpc and the default maximum height is Z_max = 5 kpc. See G. Case and D. Bhattacharya (1996) for the details of the distribution.

class SourcePulsarDistribution : public SourceFeature
#include <Source.h>

Source distribution following the Galactic pulsar distribution.

A logarithmic spiral with four arms is used for the radial distribution. The z-distribution is a simple exponentially decaying distribution. The pulsar distribution is explained in detail in C.-A. Faucher-Giguere and V. M. Kaspi, ApJ 643 (May, 2006) 332. The radial distribution is parametrized as in Blasi and Amato, JCAP 1 (Jan., 2012) 10.

class SourceUniform1D : public SourceFeature
#include <Source.h>

1D-Positions from a uniform source distribution in an expanding universe

This source property sets random x-coordinates according to a uniform source distribution in a given comoving distance interval. This is done by drawing a light travel distance from a flat distribution and converting to a comoving distance.

class SourceDensityGrid : public SourceFeature
#include <Source.h>

Random source positions from a density grid.

class SourceDensityGrid1D : public SourceFeature
#include <Source.h>

Random source positions from a 1D density grid.

class SourceIsotropicEmission : public SourceFeature
#include <Source.h>

Isotropic emission from a source.

class SourceLambertDistributionOnSphere : public SourceFeature
#include <Source.h>

Uniform random position on a sphere with isotropic Lamberts distributed directions. This function should be used for crosschecking the arrival distribution for a Galactic propagation with an isotropic arrival distribution at the Edge of our Galaxy. Note, that for simulation speed you should rather use the backtracking technique: see e.g. http://physik.rwth-aachen.de/parsec.

class SourceDirection : public SourceFeature
#include <Source.h>

Emission in a discrete direction.

class SourceEmissionMap : public SourceFeature
#include <Source.h>

Deactivate Candidate if it has zero probability in provided EmissionMap.

class SourceEmissionCone : public SourceFeature
#include <Source.h>

Uniform random emission inside a cone.

class SourceRedshift : public SourceFeature
#include <Source.h>

Discrete redshift (time of emission)

class SourceUniformRedshift : public SourceFeature
#include <Source.h>

Random redshift (time of emission) from uniform distribution.

class SourceRedshiftEvolution : public SourceFeature
#include <Source.h>

Random redshift (time of emission) from (1+z)^m distribution.

class SourceRedshift1D : public SourceFeature
#include <Source.h>

Redshift according to the distance to 0.

This source property sets the redshift according to the distance to 0. It must be added after a position setting source property.

class SourceGenericComposition : public SourceFeature
#include <Source.h>

Multiple nuclei with energies described by an expression string.