Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
PoPI.hpp File Reference
#include <string>
#include <map>
#include <vector>
#include <list>
#include <iostream>
#include <stdexcept>
#include <typeinfo>
#include <fstream>
#include <exception>
#include <utility>
#include <stddef.h>
#include <LUPI.hpp>
#include <HAPI.hpp>

Go to the source code of this file.

Classes

struct  PoPI::IDs
struct  PoPI::Intids
class  PoPI::Exception
class  PoPI::ParseIntidInfo
class  PoPI::ParseIdInfo
class  PoPI::Suite< T, T2 >
class  PoPI::PhysicalQuantity
class  PoPI::PQ_double
class  PoPI::PQ_integer
class  PoPI::PQ_fraction
class  PoPI::PQ_string
class  PoPI::PQ_shell
class  PoPI::PQ_suite
class  PoPI::NuclideGammaBranchInfo
class  PoPI::NuclideGammaBranchStateInfo
class  PoPI::NuclideGammaBranchStateInfos
class  PoPI::Base
class  PoPI::IDBase
class  PoPI::SymbolBase
class  PoPI::Product
class  PoPI::Decay
class  PoPI::DecayMode
class  PoPI::DecayData
class  PoPI::GammaDecayData
class  PoPI::Particle
class  PoPI::GaugeBoson
class  PoPI::Lepton
class  PoPI::Baryon
class  PoPI::Unorthodox
class  PoPI::Nucleus
class  PoPI::Nuclide
class  PoPI::Isotope
class  PoPI::ChemicalElement
class  PoPI::Alias
class  PoPI::MetaStable
class  PoPI::Database

Namespaces

namespace  PoPI

Macros

#define PoPI_AMU2MeV_c2   931.494028
#define PoPI_electronMass_MeV_c2   0.5109989461
#define PoPI_formatVersion_0_1_Chars   "0.1"
#define PoPI_formatVersion_1_10_Chars   "1.10"
#define PoPI_formatVersion_2_0_LLNL_3_Chars   "2.0.LLNL_3"
#define PoPI_PoPsChars   "PoPs"
#define PoPI_idChars   "id"
#define PoPI_symbolChars   "symbol"
#define PoPI_chemicalElementsChars   "chemicalElements"
#define PoPI_chemicalElementChars   "chemicalElement"
#define PoPI_isotopesChars   "isotopes"
#define PoPI_isotopeChars   "isotope"
#define PoPI_gaugeBosonChars   "gaugeBoson"
#define PoPI_leptonChars   "lepton"
#define PoPI_baryonChars   "baryon"
#define PoPI_nuclidesChars   "nuclides"
#define PoPI_nuclideChars   "nuclide"
#define PoPI_nucleusChars   "nucleus"
#define PoPI_unorthodoxChars   "unorthodox"
#define PoPI_aliasesChars   "aliases"
#define PoPI_massChars   "mass"
#define PoPI_spinChars   "spin"
#define PoPI_parityChars   "parity"
#define PoPI_chargeChars   "charge"
#define PoPI_halflifeChars   "halflife"
#define PoPI_doubleChars   "double"
#define PoPI_integerChars   "integer"
#define PoPI_fractionChars   "fraction"
#define PoPI_stringChars   "string"
#define PoPI_shellChars   "shell"
#define PoPI_decayDataChars   "decayData"
#define PoPI_gammaDecayDataChars   "gammaDecayData"
#define PoPI_decayModeElectroMagnetic   "electroMagnetic"
#define PoPI_formatChars   "format"
#define PoPI_labelChars   "label"
#define PoPI_indexChars   "index"
#define PoPI_pidChars   "pid"
#define PoPI_nameChars   "name"
#define PoPI_versionChars   "version"
#define PoPI_aliasChars   "alias"
#define PoPI_metaStableChars   "metaStable"
#define PoPI_particleChars   "particle"
#define PoPI_discreteChars   "discrete"
#define PoPI_continuumChars   "continuum"

Typedefs

typedef std::vector< Base * > PoPI::ParticleList
typedef std::vector< SymbolBase * > PoPI::SymbolList

Enumerations

enum class  PoPI::Particle_class {
  PoPI::nuclide , PoPI::nucleus , PoPI::gaugeBoson , PoPI::lepton ,
  PoPI::baryon , PoPI::nuclideMetaStable , PoPI::nucleusMetaStable , PoPI::TNSL ,
  PoPI::ENDL_fissionProduct , PoPI::unorthodox , PoPI::alias , PoPI::chemicalElement ,
  PoPI::isotope , PoPI::unknown
}
enum class  PoPI::PQ_class {
  PoPI::Double , PoPI::integer , PoPI::fraction , PoPI::string ,
  PoPI::shell
}
enum class  PoPI::SpecialParticleID_mode { PoPI::familiar , PoPI::nuclide , PoPI::nucleus }

Functions

void PoPI::appendXMLEnd (std::vector< std::string > &a_XMLList, std::string const &a_label)
int PoPI::particleZ (Base const &a_particle, bool a_isNeutronProtonANucleon=false)
int PoPI::particleZ (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false)
int PoPI::particleZ (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false)
int PoPI::particleA (Base const &a_particle, bool a_isNeutronProtonANucleon=false)
int PoPI::particleA (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false)
int PoPI::particleA (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false)
int PoPI::particleZA (Base const &a_particle, bool a_isNeutronProtonANucleon=false)
int PoPI::particleZA (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false)
int PoPI::particleZA (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false)
int PoPI::particleMetaStableIndex (Base const &a_particle)
int PoPI::particleMetaStableIndex (Database const &a_pops, std::size_t a_index)
int PoPI::particleMetaStableIndex (Database const &a_pops, std::string const &a_id)
std::string PoPI::specialParticleID (SpecialParticleID_mode a_mode, std::string const &a_id)
bool PoPI::compareSpecialParticleIDs (std::string const &a_id1, std::string const &a_id2)
double PoPI::getPhysicalQuantityAsDouble (PhysicalQuantity const &a_physicalQuantity)
double PoPI::getPhysicalQuantityOfSuiteAsDouble (PQ_suite const &a_suite, bool a_allowEmpty=false, double a_emptyValue=0.0)
bool PoPI::supportedFormat (LUPI::FormatVersion const &a_formatVersion)
std::string PoPI::baseAntiQualifierFromID (std::string const &a_id, std::string &a_anti, std::string *a_qualifier=nullptr)
int PoPI::maximumChemicalElementZ ()
std::string PoPI::chemicalElementInfoFromZ (int a_Z, bool a_wantSymbol, bool a_asNucleus=false)
std::string const & PoPI::chemicalElementSymbolFromZ (int a_Z)
int PoPI::Z_FromChemicalElementSymbol (std::string const &a_symbol)
int PoPI::family2Integer (Particle_class a_family)
int PoPI::intidHelper (bool a_isAnti, Particle_class a_family, int a_SSSSSSS)

Variables

std::map< std::string, std::string > PoPI::supportedNucleusAliases { {"d", "h2"}, {"t", "h3"}, {"h", "he3"}, {"a", "he4"} }

Macro Definition Documentation

◆ PoPI_aliasChars

#define PoPI_aliasChars   "alias"

Definition at line 95 of file PoPI.hpp.

◆ PoPI_aliasesChars

#define PoPI_aliasesChars   "aliases"

Definition at line 52 of file PoPI.hpp.

Referenced by PoPI::Database::toXMLList().

◆ PoPI_AMU2MeV_c2

◆ PoPI_baryonChars

#define PoPI_baryonChars   "baryon"

Definition at line 47 of file PoPI.hpp.

Referenced by PoPI::Baryon::Baryon().

◆ PoPI_chargeChars

#define PoPI_chargeChars   "charge"

Definition at line 76 of file PoPI.hpp.

Referenced by PoPI::Particle::Particle().

◆ PoPI_chemicalElementChars

#define PoPI_chemicalElementChars   "chemicalElement"

Definition at line 42 of file PoPI.hpp.

Referenced by PoPI::ChemicalElement::toXMLList().

◆ PoPI_chemicalElementsChars

◆ PoPI_continuumChars

#define PoPI_continuumChars   "continuum"

◆ PoPI_decayDataChars

#define PoPI_decayDataChars   "decayData"

Definition at line 84 of file PoPI.hpp.

Referenced by PoPI::Particle::Particle(), and PoPI::DecayData::toXMLList().

◆ PoPI_decayModeElectroMagnetic

#define PoPI_decayModeElectroMagnetic   "electroMagnetic"

Definition at line 87 of file PoPI.hpp.

Referenced by PoPI::DecayMode::calculateNuclideGammaBranchStateInfo().

◆ PoPI_discreteChars

#define PoPI_discreteChars   "discrete"

Definition at line 98 of file PoPI.hpp.

Referenced by PoPI::GammaDecayData::GammaDecayData().

◆ PoPI_doubleChars

#define PoPI_doubleChars   "double"

Definition at line 79 of file PoPI.hpp.

◆ PoPI_electronMass_MeV_c2

◆ PoPI_formatChars

#define PoPI_formatChars   "format"

Definition at line 89 of file PoPI.hpp.

◆ PoPI_formatVersion_0_1_Chars

#define PoPI_formatVersion_0_1_Chars   "0.1"

Definition at line 33 of file PoPI.hpp.

Referenced by PoPI::supportedFormat().

◆ PoPI_formatVersion_1_10_Chars

#define PoPI_formatVersion_1_10_Chars   "1.10"

Definition at line 34 of file PoPI.hpp.

◆ PoPI_formatVersion_2_0_LLNL_3_Chars

#define PoPI_formatVersion_2_0_LLNL_3_Chars   "2.0.LLNL_3"

Definition at line 35 of file PoPI.hpp.

◆ PoPI_fractionChars

#define PoPI_fractionChars   "fraction"

Definition at line 81 of file PoPI.hpp.

Referenced by PoPI::PQ_suite::PQ_suite().

◆ PoPI_gammaDecayDataChars

#define PoPI_gammaDecayDataChars   "gammaDecayData"

Definition at line 85 of file PoPI.hpp.

Referenced by PoPI::Nuclide::Nuclide().

◆ PoPI_gaugeBosonChars

#define PoPI_gaugeBosonChars   "gaugeBoson"

Definition at line 45 of file PoPI.hpp.

Referenced by PoPI::GaugeBoson::GaugeBoson().

◆ PoPI_halflifeChars

#define PoPI_halflifeChars   "halflife"

Definition at line 77 of file PoPI.hpp.

Referenced by PoPI::Particle::Particle().

◆ PoPI_idChars

#define PoPI_idChars   "id"

Definition at line 39 of file PoPI.hpp.

Referenced by PoPI::IDBase::IDBase().

◆ PoPI_indexChars

#define PoPI_indexChars   "index"

Definition at line 91 of file PoPI.hpp.

Referenced by PoPI::Decay::Decay(), and PoPI::Nucleus::Nucleus().

◆ PoPI_integerChars

#define PoPI_integerChars   "integer"

Definition at line 80 of file PoPI.hpp.

Referenced by PoPI::PQ_suite::PQ_suite().

◆ PoPI_isotopeChars

#define PoPI_isotopeChars   "isotope"

Definition at line 44 of file PoPI.hpp.

Referenced by PoPI::Isotope::toXMLList().

◆ PoPI_isotopesChars

#define PoPI_isotopesChars   "isotopes"

Definition at line 43 of file PoPI.hpp.

Referenced by PoPI::ChemicalElement::toXMLList().

◆ PoPI_labelChars

#define PoPI_labelChars   "label"

◆ PoPI_leptonChars

#define PoPI_leptonChars   "lepton"

Definition at line 46 of file PoPI.hpp.

Referenced by PoPI::Lepton::Lepton().

◆ PoPI_massChars

#define PoPI_massChars   "mass"

Definition at line 73 of file PoPI.hpp.

Referenced by PoPI::Particle::Particle().

◆ PoPI_metaStableChars

#define PoPI_metaStableChars   "metaStable"

Definition at line 96 of file PoPI.hpp.

◆ PoPI_nameChars

#define PoPI_nameChars   "name"

Definition at line 93 of file PoPI.hpp.

◆ PoPI_nucleusChars

#define PoPI_nucleusChars   "nucleus"

Definition at line 50 of file PoPI.hpp.

Referenced by PoPI::Nucleus::Nucleus(), and PoPI::Nuclide::Nuclide().

◆ PoPI_nuclideChars

#define PoPI_nuclideChars   "nuclide"

Definition at line 49 of file PoPI.hpp.

Referenced by PoPI::Nuclide::Nuclide().

◆ PoPI_nuclidesChars

#define PoPI_nuclidesChars   "nuclides"

◆ PoPI_parityChars

#define PoPI_parityChars   "parity"

◆ PoPI_particleChars

#define PoPI_particleChars   "particle"

Definition at line 97 of file PoPI.hpp.

◆ PoPI_pidChars

#define PoPI_pidChars   "pid"

Definition at line 92 of file PoPI.hpp.

Referenced by PoPI::Alias::Alias().

◆ PoPI_PoPsChars

#define PoPI_PoPsChars   "PoPs"

Definition at line 37 of file PoPI.hpp.

Referenced by PoPI::Database::toXMLList().

◆ PoPI_shellChars

#define PoPI_shellChars   "shell"

Definition at line 83 of file PoPI.hpp.

Referenced by PoPI::PQ_suite::PQ_suite().

◆ PoPI_spinChars

#define PoPI_spinChars   "spin"

◆ PoPI_stringChars

#define PoPI_stringChars   "string"

Definition at line 82 of file PoPI.hpp.

Referenced by PoPI::PQ_suite::PQ_suite().

◆ PoPI_symbolChars

◆ PoPI_unorthodoxChars

#define PoPI_unorthodoxChars   "unorthodox"

Definition at line 51 of file PoPI.hpp.

Referenced by PoPI::Unorthodox::Unorthodox().

◆ PoPI_versionChars

#define PoPI_versionChars   "version"

Definition at line 94 of file PoPI.hpp.