Class SourceGenericComposition
Defined in File Source.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public SourceFeature
(Class SourceFeature)
Class Documentation
-
class SourceGenericComposition : public SourceFeature
Add multiple cosmic rays with energies described by an expression string.
This is particularly useful if an arbitrary combination of nuclei types with specific energy spectra. The strings parsed may contain ‘A’ (atomic mass), ‘Z’ (atomic number). The following units are recognized as part of the strings: GeV, TeV, PeV, EeV. The variable for energy is ‘E’, with limits ‘Emin’, ‘Emax’. This property only works if muparser is available. For details about the library see: https://beltoforion.de/en/muparser/
Public Functions
-
SourceGenericComposition(double Emin, double Emax, std::string expression, size_t bins = 1024)
Constructor
- Parameters:
Emin – minimum energy [in Joules]
Emax – maximum energy [in Joules]
expression – string containing the expression to generate the composition
bins – number of energy bins
-
void add(int id, double abundance)
Add an individual particle id.
- Parameters:
id – id of the particle following the PDG numbering scheme
abundance – relative abundance of individual particle species
-
void add(int A, int Z, double abundance)
Add an individual particle id.
- Parameters:
A – atomic mass of the cosmic-ray nucleus
Z – atomic number of the cosmic-ray nucleus
abundance – relative abundance of individual particle species
-
virtual void prepareParticle(ParticleState &particle) const
-
void setDescription()
-
inline const std::vector<double> *getNucleusCDF(int id) const
-
std::string getDescription() const
-
inline size_t addReference() const
-
inline size_t removeReference() const
-
inline int removeReferenceNoDelete() const
-
inline size_t getReferenceCount() const
Protected Attributes
-
double Emin
-
double Emax
-
size_t bins
-
std::string expression
-
std::vector<double> energy
-
std::vector<double> cdf
-
std::string description
-
mutable size_t _referenceCount
-
struct Nucleus
-
SourceGenericComposition(double Emin, double Emax, std::string expression, size_t bins = 1024)