23static char const *getDebyeWallerIntegralName( HAPI::Node
const &a_node ) {
37static char const *getBoundAtomCrossSectionName( HAPI::Node
const &a_node ) {
57 Form( a_node, a_setupInfo, a_type, a_parent ) {
90 delete m_realAnomalousFactor;
91 delete m_imaginaryAnomalousFactor;
111 m_scatteringFactor( nullptr ) {
114 if( scatteringFactorChild.
empty( ) ) {
115 m_scatteringFactor = data1dParse( a_construction, a_node.first_child( ), a_setupInfo, nullptr ); }
117 m_scatteringFactor = data1dParse( a_construction, scatteringFactorChild.first_child( ), a_setupInfo, nullptr );
126 delete m_scatteringFactor;
146 m_ComptonProfile( nullptr ) {
149 m_ComptonProfile =
data1dParse( a_construction, ComptonProfileChild.
first_child( ), a_setupInfo,
nullptr );
157 delete m_ComptonProfile;
175 m_function2d(
data2dParse( a_construction, a_node.first_child( ), a_setupInfo, nullptr ) ) {
177 m_function2d->setAncestor(
this );
208 m_S_table.setAncestor(
this );
230 m_function1d(
data1dParse( a_construction, a_node.first_child( ), a_setupInfo, nullptr ) ) {
232 m_function1d->setAncestor(
this );
260 m_boundAtomCrossSection( a_node.child( getBoundAtomCrossSectionName( a_node ) ), a_setupInfo ),
261 m_DebyeWallerIntegral( a_construction, a_node.child( getDebyeWallerIntegralName( a_node ) ), a_setupInfo ) {
263 m_boundAtomCrossSection.setAncestor(
this );
264 m_DebyeWallerIntegral.setAncestor(
this );
310 m_function1d(
data1dParseAllowEmpty( a_construction, a_node.first_child( ), a_setupInfo, nullptr ) ) {
312 if( m_function1d !=
nullptr ) m_function1d->setAncestor(
this );
341 m_mass.setAncestor(
this );
342 m_freeAtomCrossSection.setAncestor(
this );
343 m_e_critical.setAncestor(
this );
344 m_e_max.setAncestor(
this );
345 m_T_effective.setAncestor(
this );
368 m_function3d( nullptr ) {
403 m_options.setAncestor(
this );
404 m_scatteringAtoms.setAncestor(
this );
405 m_S_alpha_beta.setAncestor(
this );
#define GIDI_calculatedAtThermalChars
#define GIDI_scatteringFactorChars
#define GIDI_imaginaryAnomalousFactorChars
#define GIDI_e_criticalChars
#define GIDI_S_tableChars
#define GIDI_ComptonProfileChars
#define GIDI_T_effectiveChars
#define GIDI_realAnomalousFactorChars
#define GIDI_scatteringAtomsChars
#define GIDI_DebyeWallerIntegralChars
#define GIDI_formFactorChars
#define GIDI_DebyeWallerChars
#define GIDI_S_alpha_betaChars
#define GIDI_asymmetricChars
#define GIDI_freeAtomCrossSectionChars
#define GIDI_optionsChars
#define GIDI_characteristicCrossSectionChars
#define GIDI_boundAtomCrossSectionChars
Base(HAPI::Node const &a_node, SetupInfo &a_setupInfo, FormType a_type, Suite *a_parent)
CoherentPhotoAtomicScattering(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
~CoherentPhotoAtomicScattering()
~IncoherentBoundToFreePhotoAtomicScattering()
IncoherentBoundToFreePhotoAtomicScattering(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
IncoherentPhotoAtomicScattering(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
~IncoherentPhotoAtomicScattering()
CoherentElastic(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
DebyeWallerIntegral(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
IncoherentElastic(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
IncoherentInelastic(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, Suite *a_parent)
Options(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
S_alpha_beta(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
S_table(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
ScatteringAtom(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
T_effective(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo)
Node child(const char *name) const
Functions::Function1dForm * data1dParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *parent)
@ incoherentBoundToFreePhotonScattering
@ incoherentPhotonScattering
@ coherentPhotonScattering
Functions::Function2dForm * data2dParse(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *parent)
Form * parseScatteringAtom(Construction::Settings const &a_construction, Suite *a_parent, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, PoPI::Database const &a_internalPoPs, std::string const &a_name, Styles::Suite const *a_styles)
Functions::Function1dForm * data1dParseAllowEmpty(Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, Suite *a_parent)