Reactions  0.1.1
Handling reaction trees and decays
Namespaces | Classes | Typedefs | Functions | Variables
reactions Namespace Reference

Main namespace of the Reactions package. More...

Namespaces

 database
 Common tools and base objects to handle databases.
 
 element_traits
 Handle the properties of elements.
 
 exceptions
 Exceptions that are handled internally.
 
 fields
 Utilities to handle database objects and their elements.
 
 nubase
 Structures representing the fields of a reactions::nubase_element object.
 
 pdg
 Structures representing the fields of a reactions::pdg_element object.
 
 pow_enum
 Utilities to define smart enumeration types.
 
 processes
 Processes among elements (reactions and decays)
 
 tokens
 Syntax tokens.
 
 units
 Contain functions to determine the scale factors for the given units Units are handled by multiplying values returned by the elements of the reactions by a factor that depends on the unit used as a reference.
 
 utils
 General utilities.
 

Classes

class  database_error
 Raised whenever a problem is detected in the database. More...
 
class  decay
 Description of a process where head particle generate a set of products. More...
 
class  element_wrapper
 Template for elements of a reaction or decay. More...
 
struct  fill
 Small structure to define fields without explicitely knowing its type. More...
 
class  internal_error
 Raised when unexpected problems appear, which should be reported as bugs. More...
 
class  lookup_error
 Raised when an element is not found within a database. More...
 
class  missing_fields_error
 Raised when trying to access a field that is not defined. More...
 
class  node
 Base class for a process node. More...
 
class  nubase_database
 Database of elements with the NuBase information. More...
 
class  nubase_element
 An element based on the NuBase database. More...
 
class  nubase_system_of_units
 Defines a singleton to handle the units of PDG elements. More...
 
class  pdg_database
 Database of elements following the PDG convention. More...
 
class  pdg_element
 A PDG particle, based on the fields of a particle in the PDG database. More...
 
class  pdg_system_of_units
 Defines a singleton to handle the units of PDG elements. More...
 
class  reaction
 Description of a process where reactants generate a set of products. More...
 
class  syntax_error
 Raised when processing the syntax of reactions and decays. More...
 
class  value_error
 Raised whenever a problem is detected with an input value. More...
 

Typedefs

using string_element = std::string
 Alias for an element based on a simple string. More...
 
using nubase_element_fields = std::tuple< nubase::name, nubase::nubase_id, nubase::atomic_number, nubase::mass_number, nubase::mass_excess, nubase::is_stable, nubase::half_life, nubase::is_ground_state >
 Field types of a NuBase element. More...
 
using nubase_element_base = fields::underlying_types_t< nubase_element_fields >
 Base class of a NuBase element. More...
 
using pdg_element_fields = std::tuple< pdg::name, pdg::pdg_id, pdg::three_charge, pdg::mass, pdg::width, pdg::is_self_cc >
 Field types of a PDG element. More...
 
using pdg_element_base = fields::underlying_types_t< pdg_element_fields >
 Base class of a PDG element. More...
 

Functions

template<class Element >
reaction< Element > make_reaction_for (std::string const &str, typename reaction< Element >::builder_type builder)
 Create a new reaction with a custom builder. More...
 
template<class Element >
reaction< Element > make_reaction (std::string const &str)
 Create a new reaction. More...
 
template<class Element >
decay< Element > make_decay_for (std::string const &str, typename decay< Element >::builder_type builder)
 Create a new decay with a custom builder. More...
 
template<class Element >
decay< Element > make_decay (std::string const &str)
 Create a new decay. More...
 
 REACTIONS_POW_ENUM_WITH_UNKNOWN (energy_units, eV, keV, MeV, GeV, TeV, PeV)
 Energy units. More...
 
 REACTIONS_POW_ENUM_WITH_UNKNOWN (time_units, ys, zs, as, fs, ps, ns, us, ms, sec, min, hour, day, year, ky, My, Gy, Ty, Py, Ey, Zy, Yy)
 Time units. More...
 

Variables

static constexpr auto missing = std::nullopt
 Static object that defines a missing field within an object. More...
 

Detailed Description

Main namespace of the Reactions package.

All the objects needed to work with the package are exposed in this namespace. It can be loaded by simply including the all.hpp file.

Typedef Documentation

◆ nubase_element_base

Base class of a NuBase element.

◆ nubase_element_fields

Field types of a NuBase element.

◆ pdg_element_base

Base class of a PDG element.

◆ pdg_element_fields

Field types of a PDG element.

◆ string_element

Alias for an element based on a simple string.

Function Documentation

◆ make_decay()

template<class Element >
decay<Element> reactions::make_decay ( std::string const &  str)

Create a new decay.

Parameters
strstring to process
Returns
the decay

◆ make_decay_for()

template<class Element >
decay<Element> reactions::make_decay_for ( std::string const &  str,
typename decay< Element >::builder_type  builder 
)

Create a new decay with a custom builder.

Parameters
strstring to parse
builderfunction to build the underlying elements
Returns
the new decay

◆ make_reaction()

template<class Element >
reaction<Element> reactions::make_reaction ( std::string const &  str)

Create a new reaction.

Parameters
strstring to process
Returns
the reaction

◆ make_reaction_for()

template<class Element >
reaction<Element> reactions::make_reaction_for ( std::string const &  str,
typename reaction< Element >::builder_type  builder 
)

Create a new reaction with a custom builder.

Parameters
strstring to parse
builderfunction to build the underlying elements
Returns
the new reaction

◆ REACTIONS_POW_ENUM_WITH_UNKNOWN() [1/2]

reactions::REACTIONS_POW_ENUM_WITH_UNKNOWN ( energy_units  ,
eV  ,
keV  ,
MeV  ,
GeV  ,
TeV  ,
PeV   
)

Energy units.

◆ REACTIONS_POW_ENUM_WITH_UNKNOWN() [2/2]

reactions::REACTIONS_POW_ENUM_WITH_UNKNOWN ( time_units  ,
ys  ,
zs  ,
as  ,
fs  ,
ps  ,
ns  ,
us  ,
ms  ,
sec  ,
min  ,
hour  ,
day  ,
year  ,
ky  ,
My  ,
Gy  ,
Ty  ,
Py  ,
Ey  ,
Zy  ,
Yy   
)

Time units.

Variable Documentation

◆ missing

constexpr auto reactions::missing = std::nullopt
static

Static object that defines a missing field within an object.