9#include "MantidKernel/DllConfig.h"
11#include <boost/optional/optional.hpp>
48 MaterialBuilder &setXRayAttenuationProfileFilename(std::string filename);
50 void setAttenuationSearchPath(std::string path);
55 using Composition = std::tuple<PhysicalConstants::NeutronAtom, double>;
57 bool hasOverrideNeutronProperties()
const;
77 boost::optional<double> m_zParam,
m_cellVol, m_massDensity;
78 boost::optional<double> m_totalXSection, m_cohXSection, m_incXSection,
m_absSection;
Create a material from a set of user defined options.
boost::optional< int > m_atomicNo
Material::ChemicalFormula m_formula
boost::optional< double > m_cellVol
std::tuple< PhysicalConstants::NeutronAtom, double > Composition
boost::optional< double > m_absSection
std::string m_attenuationFileSearchPath
NumberDensityUnit m_numberDensityUnit
boost::optional< std::string > m_attenuationProfileFileName
boost::optional< std::string > m_xRayAttenuationProfileFileName
boost::optional< double > m_numberDensity
boost::optional< double > m_numberDensityEff
A material is defined as being composed of a given element, defined as a PhysicalConstants::NeutronAt...
std::vector< FormulaUnit > ChemicalFormula
A namespace containing physical constants that are required by algorithms and unit routines.
Helper class which provides the Collimation Length for SANS instruments.
double effective_number_density
Structure to store neutronic scattering information for the various elements.