|
minimc 0.5.1
|
Aggregates nuclear and physical properties. More...
#include <Material.hpp>
Public Types | |
| using | AtomFractions = std::map< std::shared_ptr< const Nuclide >, Real > |
| Nuclide objects and their associated atom fractions. | |
Public Member Functions | |
| Material (const pugi::xml_node &root, const std::string &name, const std::vector< std::shared_ptr< const Nuclide > > &all_nuclides) | |
| Constructs a Material from a material node of an XML document. More... | |
| MicroscopicCrossSection | GetMicroscopicMajorant (const Particle &p) const noexcept |
| Return the majorant microscopic cross section. More... | |
| MicroscopicCrossSection | GetMicroscopicTotal (const Particle &p) const noexcept |
| Return the total microscopic cross section. | |
Static Public Member Functions | |
| static pugi::xml_node | FindNode (const pugi::xml_node &root, const std::string &material_name) |
Find material node with given name in XML document. More... | |
Public Attributes | |
| const std::string | name |
| Unique, user-defined identifier (C++ Core Guidelines C.131) | |
| const AtomFractions | afracs |
| All Nuclide objects which make up this Material and their associated atom fractions (C++ Core Guidelines C.131) | |
| const Real | number_density |
| Atomic number density (C++ Core Guidelines C.131) | |
Aggregates nuclear and physical properties.
Nuclear properties are in NuclearData objects
| Material::Material | ( | const pugi::xml_node & | root, |
| const std::string & | name, | ||
| const std::vector< std::shared_ptr< const Nuclide > > & | all_nuclides | ||
| ) |
|
static |
Find material node with given name in XML document.
| root | Root node of existing XML document |
| material_name | Value of name attribute of material node |
| std::runtime_error | `material` node with matching `name` attribute not found |
|
noexcept |
Return the majorant microscopic cross section.
This is not to be confused with the global majorant across all Materials in the problem