|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
Classes | |
| struct | IDs |
| struct | Intids |
| class | Exception |
| class | ParseIntidInfo |
| class | ParseIdInfo |
| class | Suite |
| class | PhysicalQuantity |
| class | PQ_double |
| class | PQ_integer |
| class | PQ_fraction |
| class | PQ_string |
| class | PQ_shell |
| class | PQ_suite |
| class | NuclideGammaBranchInfo |
| class | NuclideGammaBranchStateInfo |
| class | NuclideGammaBranchStateInfos |
| class | Base |
| class | IDBase |
| class | SymbolBase |
| class | Product |
| class | Decay |
| class | DecayMode |
| class | DecayData |
| class | GammaDecayData |
| class | Particle |
| class | GaugeBoson |
| class | Lepton |
| class | Baryon |
| class | Unorthodox |
| class | Nucleus |
| class | Nuclide |
| class | Isotope |
| class | ChemicalElement |
| class | Alias |
| class | MetaStable |
| class | Database |
Typedefs | |
| typedef std::vector< Base * > | ParticleList |
| typedef std::vector< SymbolBase * > | SymbolList |
Enumerations | |
| enum class | Particle_class { nuclide , nucleus , gaugeBoson , lepton , baryon , nuclideMetaStable , nucleusMetaStable , TNSL , ENDL_fissionProduct , unorthodox , alias , chemicalElement , isotope , unknown } |
| enum class | PQ_class { Double , integer , fraction , string , shell } |
| enum class | SpecialParticleID_mode { familiar , nuclide , nucleus } |
Functions | |
| void | appendXMLEnd (std::vector< std::string > &a_XMLList, std::string const &a_label) |
| int | particleZ (Base const &a_particle, bool a_isNeutronProtonANucleon=false) |
| int | particleZ (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false) |
| int | particleZ (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false) |
| int | particleA (Base const &a_particle, bool a_isNeutronProtonANucleon=false) |
| int | particleA (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false) |
| int | particleA (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false) |
| int | particleZA (Base const &a_particle, bool a_isNeutronProtonANucleon=false) |
| int | particleZA (Database const &a_pops, std::size_t a_index, bool a_isNeutronProtonANucleon=false) |
| int | particleZA (Database const &a_pops, std::string const &a_id, bool a_isNeutronProtonANucleon=false) |
| int | particleMetaStableIndex (Base const &a_particle) |
| int | particleMetaStableIndex (Database const &a_pops, std::size_t a_index) |
| int | particleMetaStableIndex (Database const &a_pops, std::string const &a_id) |
| std::string | specialParticleID (SpecialParticleID_mode a_mode, std::string const &a_id) |
| bool | compareSpecialParticleIDs (std::string const &a_id1, std::string const &a_id2) |
| double | getPhysicalQuantityAsDouble (PhysicalQuantity const &a_physicalQuantity) |
| double | getPhysicalQuantityOfSuiteAsDouble (PQ_suite const &a_suite, bool a_allowEmpty=false, double a_emptyValue=0.0) |
| bool | supportedFormat (LUPI::FormatVersion const &a_formatVersion) |
| std::string | baseAntiQualifierFromID (std::string const &a_id, std::string &a_anti, std::string *a_qualifier=nullptr) |
| int | maximumChemicalElementZ () |
| std::string | chemicalElementInfoFromZ (int a_Z, bool a_wantSymbol, bool a_asNucleus=false) |
| std::string const & | chemicalElementSymbolFromZ (int a_Z) |
| int | Z_FromChemicalElementSymbol (std::string const &a_symbol) |
| int | family2Integer (Particle_class a_family) |
| int | intidHelper (bool a_isAnti, Particle_class a_family, int a_SSSSSSS) |
Variables | |
| std::map< std::string, std::string > | supportedNucleusAliases { {"d", "h2"}, {"t", "h3"}, {"h", "he3"}, {"a", "he4"} } |
| typedef std::vector<Base *> PoPI::ParticleList |
| typedef std::vector<SymbolBase *> PoPI::SymbolList |
|
strong |
This enum represents the various type of allowed particle types.
Definition at line 58 of file PoPI.hpp.
|
strong |
This enum represents the various type of allowed physcial quantity types.
Definition at line 105 of file PoPI.hpp.
|
strong |
This enum specifies how the light charged particle ids are handled. The light charged particles ids are familiarly known as p, d, t, h and a.
| void PoPI::appendXMLEnd | ( | std::vector< std::string > & | a_XMLList, |
| std::string const & | a_label ) |
Added the XML end tag (e.g., "</tag>") with tag name a_label to the last srd::string in a_XMLList.
| a_XMLList | [in] The list whose last item is emended with an XML end tag. |
| a_label | [in] The name of the end tag. |
Definition at line 53 of file PoPI_misc.cc.
Referenced by PoPI::ChemicalElement::toXMLList(), PoPI::Database::toXMLList(), PoPI::Decay::toXMLList(), PoPI::DecayData::toXMLList(), PoPI::DecayMode::toXMLList(), PoPI::Isotope::toXMLList(), PoPI::Particle::toXMLList(), PoPI::PQ_suite::toXMLList(), and PoPI::Suite< T, T2 >::toXMLList().
| std::string PoPI::baseAntiQualifierFromID | ( | std::string const & | a_id, |
| std::string & | a_anti, | ||
| std::string * | a_qualifier ) |
Breaks th components of a particles name into base, anti and quailier strings. Every id in GNDS PoPs can be of the form base["_anti"][qualifier] where both "_anti" and qualifier are optional. For example, an electron is represented as "e-" and an anti-electron (i.e., positron) "e-_anti". Qualifiers are endings imbedded by "{" and "}". For example, "H{1s1/2}" has the base "H" with quailifier "1s1/2" where the "{" and "}" have been stripped from the quailifier.
| a_id | [in] The base id for a_id. |
| a_anti | [in] A std::string to be filled with "_anti" if particle is an anti-particle and an "" otherwise. |
| a_qualifier | [in] A pointer to a std::string that will be filled with the qualifer characters. |
Definition at line 458 of file PoPI_misc.cc.
Referenced by PoPI::ParseIdInfo::ParseIdInfo(), and PoPI::Particle::Particle().
| std::string PoPI::chemicalElementInfoFromZ | ( | int | a_Z, |
| bool | a_wantSymbol, | ||
| bool | a_asNucleus ) |
Returns the chemical element's symbol (a_wantSymbol = true) or name (a_wantSymbol = false) for the requrest atomic number a_Z. a_wantSymbol is true, the returned symbol is for the nuclide when a_asNucleus is false and for the nucleus otherwise.
| a_Z | [in] The Z (atomic number of the chemical element. |
| a_wantSymbol | [in] If true returns the chemical element's symbol otherwise its name. |
| a_asNucleus | [in] If true returns the symbol for the nucleus, otherwise for the nuclide. As no affect if a_wantSymbol is false. |
Definition at line 129 of file PoPI_chemicalElement.cc.
Referenced by chemicalElementInfoFromZ(), and PoPI::ParseIntidInfo::id().
| std::string const & PoPI::chemicalElementSymbolFromZ | ( | int | a_Z | ) |
Returns the chemical element symbol for the requested atomic number a_Z.
| a_Z | [in] The atomic number (Z) of the requested chemical element. |
Definition at line 986 of file PoPI_chemicalElement.cc.
Referenced by chemicalElementSymbolFromZ().
| bool PoPI::compareSpecialParticleIDs | ( | std::string const & | a_id1, |
| std::string const & | a_id2 ) |
Compares two particle ids and returns if they are the same particle. This methods using the name returned by the function specialParticleID with the same SpecialParticleID_mode for each particle id. Ergo, "H1" is the same as "H1", "p" or "h1".
Definition at line 133 of file PoPI_misc.cc.
Referenced by GIDI::Map::ProtareBase::findProtareEntry(), GIDI::Map::ProtareBase::isMatch(), GIDI::Map::MapWalkDirectoryCallback(), GIDI::Product::maximumLegendreOrder(), GIDI::Product::multiGroupAverageEnergy(), GIDI::Product::multiGroupAverageMomentum(), GIDI::Reaction::multiGroupGain(), GIDI::Product::multiGroupMultiplicity(), GIDI::Product::multiGroupProductMatrix(), GIDI::Transporting::Particles::particle(), and GIDI::Product::productMultiplicity().
| int PoPI::family2Integer | ( | Particle_class | a_family | ) |
Returns an integer representing the particle's famuly a_family.
| a_isAnti | [in] If true particle is an anti-particle and otherwise its a particle. |
Definition at line 21 of file PoPI_intId.cc.
Referenced by intidHelper().
| double PoPI::getPhysicalQuantityAsDouble | ( | PhysicalQuantity const & | a_physicalQuantity | ) |
A physical quantity can be a double, integer, fraction (e.g, '3/7') or a string. For all but string, this functions returns a double representing the value of the physical quantity a_physicalQuantity. For string, a throw is executed.
| a_physicalQuantity | [in] The physical quantity whose value is returend. |
Definition at line 403 of file PoPI_misc.cc.
Referenced by getPhysicalQuantityOfSuiteAsDouble().
| double PoPI::getPhysicalQuantityOfSuiteAsDouble | ( | PQ_suite const & | a_suite, |
| bool | a_allowEmpty, | ||
| double | a_emptyValue ) |
If the suite a_suite as data, getPhysicalQuantityAsDouble is called on its first item; otherwise, a throw is executed. If a_suite is empty and a_allowEmpty is true, then a_emptyValue is returned.
| a_suite | [in] The suite whose first item's value is returned as a double. |
| a_allowEmpty | [in] Determines act to follow when a_suite is empty. |
| a_emptyValue | [in] The value to return if a_suite is empty and a_allowEmpty is true. |
Definition at line 435 of file PoPI_misc.cc.
Referenced by PoPI::DecayMode::calculateNuclideGammaBranchStateInfo().
| int PoPI::intidHelper | ( | bool | a_isAnti, |
| Particle_class | a_family, | ||
| int | a_SSSSSSS ) |
This function is for internal use. Returns the intid for the particle of family a_family with family indentifier a_SSSSSSS. If the return value is -1 the family is not supported by this function.
| a_isAnti | [in] If true particle is an anti-particle and otherwise its a particle. |
| a_family | [in] The particle's family. |
| a_SSSSSSS | [in] The particle's indentifier within its family. |
Definition at line 47 of file PoPI_intId.cc.
Referenced by PoPI::Baryon::Baryon(), PoPI::GaugeBoson::GaugeBoson(), PoPI::Lepton::Lepton(), PoPI::MetaStable::MetaStable(), and PoPI::Unorthodox::Unorthodox().
| int PoPI::maximumChemicalElementZ | ( | ) |
Returns the maximum supported Z (atomic number) supported by function chemicalElementInfoFromZ.
Definition at line 112 of file PoPI_chemicalElement.cc.
Referenced by maximumChemicalElementZ().
| int PoPI::particleA | ( | Base const & | a_particle, |
| bool | a_isNeutronProtonANucleon ) |
Returns the A (i.e., atomic mass number) for a nuclear type particle; otherwise, 0 is returned. Currently, non-0 values are returned if a_particle is an isotope, nuclide or nucleus, or if it is a neutron or a proton and a_isNeutronProtonANucleon is true.
| a_particle | [in] The PoPI::Base instance whose Z is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 227 of file PoPI_misc.cc.
Referenced by G4GIDI_target::G4GIDI_target(), particleA(), particleA(), and particleZA().
| int PoPI::particleA | ( | Database const & | a_pops, |
| std::size_t | a_index, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the index a_index to look up the particle in a_pops and calls particleA for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_index | [in] The index of the particle in a_pops whose A value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 259 of file PoPI_misc.cc.
| int PoPI::particleA | ( | Database const & | a_pops, |
| std::string const & | a_id, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the id a_id to look up the particle in a_pops and calls particleA for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_id | [in] The id of the particle in a_pops whose A value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 276 of file PoPI_misc.cc.
| int PoPI::particleMetaStableIndex | ( | Base const & | a_particle | ) |
Returns the meta-stable index if a_particle is a PoPI::MetaStable alias; otherwise, 0 is returned.
| a_particle | [in] The PoPI::Base instance whose meta-stable index is returned. |
Definition at line 349 of file PoPI_misc.cc.
Referenced by G4GIDI_target::G4GIDI_target(), particleMetaStableIndex(), and particleMetaStableIndex().
| int PoPI::particleMetaStableIndex | ( | Database const & | a_pops, |
| std::size_t | a_index ) |
Returns the meta-stable index if a_index is a PoPI::MetaStable alias; otherwise, 0 is returned.
| a_pops | [in] The PoPs database to look up the particle. |
| a_index | [in] The index of the particle in a_pops whose meta-stable index value is returned. |
Definition at line 370 of file PoPI_misc.cc.
| int PoPI::particleMetaStableIndex | ( | Database const & | a_pops, |
| std::string const & | a_id ) |
Returns the meta-stable index if a_id is a PoPI::MetaStable alias; otherwise, 0 is returned.
| a_pops | [in] The PoPs database to look up the particle. |
| a_id | [in] The id of the particle in a_pops whose meta-stable index value is returned. |
Definition at line 386 of file PoPI_misc.cc.
| int PoPI::particleZ | ( | Base const & | a_particle, |
| bool | a_isNeutronProtonANucleon ) |
Returns the Z (i.e., the atomic number) for a nuclear type particle; otherwise, 0 is returned. Currently, non-0 values are returned if a_particle is an isotope, nuclide or nucleus, or if it is a proton and a_isNeutronProtonANucleon is true. Note, this is not the charge of the particle but its atomic number. For example, the atomic number for an electron is 0 as it is not a nuclear type particle.
| a_particle | [in] The PoPI::Base instance whose Z is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 150 of file PoPI_misc.cc.
Referenced by G4GIDI_target::G4GIDI_target(), particleZ(), particleZ(), and particleZA().
| int PoPI::particleZ | ( | Database const & | a_pops, |
| std::size_t | a_index, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the index a_index to look up the particle in a_pops and calls particleZ for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_index | [in] The index of the particle in a_pops whose Z value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 183 of file PoPI_misc.cc.
| int PoPI::particleZ | ( | Database const & | a_pops, |
| std::string const & | a_id, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the id a_id to look up the particle in a_pops and calls particleZ for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_id | [in] The id of the particle in a_pops whose Z value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 209 of file PoPI_misc.cc.
| int PoPI::particleZA | ( | Base const & | a_particle, |
| bool | a_isNeutronProtonANucleon ) |
Returns the ZA (i.e., 1000 * Z + A) for a nuclear type particle; otherwise, 0 is returned. Currently, non-0 values are returned if a_particle is an isotope, nuclide or nucleus, or if it is a neutron or a proton and a_isNeutronProtonANucleon is true.
| a_particle | [in] The PoPI::Base instance whose Z is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 294 of file PoPI_misc.cc.
Referenced by particleZA(), and particleZA().
| int PoPI::particleZA | ( | Database const & | a_pops, |
| std::size_t | a_index, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the index a_index to look up the particle in a_pops and calls particleZA for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_index | [in] The index of the particle in a_pops whose ZA value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 317 of file PoPI_misc.cc.
| int PoPI::particleZA | ( | Database const & | a_pops, |
| std::string const & | a_id, | ||
| bool | a_isNeutronProtonANucleon ) |
Uses the id a_id to look up the particle in a_pops and calls particleZA for that particle.
| a_pops | [in] The PoPs database to look up the particle. |
| a_id | [in] The id of the particle in a_pops whose ZA value is returned. |
| a_isNeutronProtonANucleon | [in] If true a proton is treated as a nucleus. |
Definition at line 334 of file PoPI_misc.cc.
| std::string PoPI::specialParticleID | ( | SpecialParticleID_mode | a_mode, |
| std::string const & | a_id ) |
This function returns the "special particle id" for the specified particle id (a_id). The id returned depends on the a_mode argument. Currently, for all a_id's but for those listed in the following table, * a_id is returned. For an a_id in the following table, find the column that contains the specfied a_id, the id returned will be the id in that column whose row matches the specified a_mode.
| a_mode | ids -> | ||||
|---|---|---|---|---|---|
| familiar | p | d | t | h | a |
| nuclide | H1 | H2 | H3 | He3 | He4 |
| nucleus | h1 | h2 | h3 | he3 | he4 |
| a_mode | [in] The mode which determines the returned id. |
| a_id | [in] The specified particle id. |
Definition at line 79 of file PoPI_misc.cc.
Referenced by compareSpecialParticleIDs().
| bool PoPI::supportedFormat | ( | LUPI::FormatVersion const & | a_formatVersion | ) |
Returns true if a_formatVersion is a format supported by PoPI and false otherwise;
| a_formatVersion | [in] The format version to check if it is supported. |
Definition at line 39 of file PoPI_misc.cc.
| int PoPI::Z_FromChemicalElementSymbol | ( | std::string const & | a_symbol | ) |
Returns the atomic number (Z) for the requested chemical element's symbol.
| a_symbol | [in] The atomic symbol. |
Definition at line 1001 of file PoPI_chemicalElement.cc.
Referenced by PoPI::ParseIdInfo::ParseIdInfo(), and Z_FromChemicalElementSymbol().
| std::map< std::string, std::string > PoPI::supportedNucleusAliases { {"d", "h2"}, {"t", "h3"}, {"h", "he3"}, {"a", "he4"} } |
Definition at line 34 of file PoPI_chemicalElement.cc.
Referenced by PoPI::Alias::Alias(), and PoPI::ParseIdInfo::ParseIdInfo().