Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
GIDI::Styles::HeatedMultiGroup Class Reference

#include <GIDI.hpp>

Inheritance diagram for GIDI::Styles::HeatedMultiGroup:

Public Member Functions

 HeatedMultiGroup (Construction::Settings const &a_construction, HAPI::Node const &a_node, SetupInfo &a_setupInfo, PoPI::Database const &a_pops, GIDI::Suite *a_parent)
 ~HeatedMultiGroup ()
PhysicalQuantity const & temperature () const
GIDI::Suite const & transportables () const
Transportable const & transportable (std::string const &a_ID) const
std::vector< double > groupBoundaries (std::string const &a_ID) const
Flux const & flux () const
std::string const & parameters () const
Vector inverseSpeedData () const
void toXMLList (GUPI::WriteInfo &a_writeInfo, std::string const &a_indent) const
Public Member Functions inherited from GIDI::Styles::Base
 Base (HAPI::Node const &a_node, SetupInfo &a_setupInfo, GIDI::Suite *a_parent)
 ~Base ()
std::string const & date () const
std::string const & label () const
std::string const & derivedStyle () const
bool hasDocumentation ()
GUPI::Documentationdocumentation ()
Base const * getDerivedStyle () const
Base const * getDerivedStyle (std::string const &a_moniker) const
std::vector< Base const * > chain () const
bool isStyleInDerivedForm (Base const *a_style) const
std::string baseXMLAttributes (GUPI::WriteInfo &a_writeInfo) const
Public Member Functions inherited from GIDI::Form
 Form (FormType a_type)
 Form (std::string const &a_moniker, FormType a_type, std::string const &a_label)
 Form (HAPI::Node const &a_node, SetupInfo &a_setupInfo, FormType a_type, Suite *a_suite=nullptr)
 Form (Form const &a_form)
virtual ~Form ()
Formoperator= (Form const &a_rhs)
Suiteparent () const
std::string const & label () const
void setLabel (std::string const &a_label)
virtual std::string actualMoniker () const
std::string const & keyName () const
void setKeyName (std::string const &a_keyName)
std::string const & keyValue () const
virtual void setKeyValue (std::string const &a_keyName) const
FormType type () const
Form const * sibling (std::string a_label) const
GUPI::AncestryfindInAncestry3 (LUPI_maybeUnused std::string const &a_item)
GUPI::Ancestry const * findInAncestry3 (LUPI_maybeUnused std::string const &a_item) const
std::string xlinkItemKey () const
Public Member Functions inherited from GUPI::Ancestry
 Ancestry (std::string const &a_moniker, std::string const &a_attribute="")
virtual ~Ancestry ()
Ancestryoperator= (Ancestry const &a_ancestry)
std::string const & moniker () const
void setMoniker (std::string const &a_moniker)
Ancestryancestor ()
Ancestry const * ancestor () const
void setAncestor (Ancestry *a_ancestor)
std::string attribute () const
Ancestryroot ()
Ancestry const * root () const
bool isChild (Ancestry *a_instance)
bool isParent (Ancestry *a_parent)
bool isRoot () const
AncestryfindInAncestry (std::string const &a_href)
Ancestry const * findInAncestry (std::string const &a_href) const
virtual AncestryfindInAncestry3 (std::string const &a_item)=0
virtual Ancestry const * findInAncestry3 (std::string const &a_item) const =0
virtual LUPI_HOST void serialize (LUPI::DataBuffer &a_buffer, LUPI::DataBuffer::Mode a_mode)
std::string toXLink () const
void printXML () const

Additional Inherited Members

Static Public Member Functions inherited from GUPI::Ancestry
static std::string buildXLinkItemKey (std::string const &a_name, std::string const &a_key)

Detailed Description

This is the neatedMultiGroup style class.

Definition at line 3309 of file GIDI.hpp.

Constructor & Destructor Documentation

◆ HeatedMultiGroup()

GIDI::Styles::HeatedMultiGroup::HeatedMultiGroup ( Construction::Settings const & a_construction,
HAPI::Node const & a_node,
SetupInfo & a_setupInfo,
PoPI::Database const & a_pops,
GIDI::Suite * a_parent )
Parameters
a_construction[in] Used to pass user options to the constructor.
a_node[in] The HAPI::Node to be parsed.
a_setupInfo[in] Information create my the Protare constructor to help in parsing.
a_pops[in] A PoPI::Database instance used to get particle indices and possibly other particle information.
a_parent[in] The parent GIDI::Suite.

Definition at line 740 of file GIDI_styles.cc.

741 :
742 Base( a_node, a_setupInfo, a_parent ),
743 m_transportables( a_construction, GIDI_transportablesChars, GIDI_labelChars, a_node, a_setupInfo, a_pops, a_pops, parseTransportablesSuite, nullptr ),
744 m_flux( a_construction, a_node.child( GIDI_fluxNodeChars ), a_setupInfo ),
745 m_inverseSpeed( a_construction, a_node.child( GIDI_inverseSpeedChars ).child( GIDI_gridded1dChars ), a_setupInfo, nullptr ),
746 m_parameters( a_node.attribute_as_string( GIDI_parametersChars ) ) {
747
748 m_transportables.setAncestor( this );
749 m_flux.setAncestor( this );
750 m_inverseSpeed.setAncestor( this );
751
752 if( m_transportables.size( ) == 0 ) {
753 GIDI::Suite const *transportables1 = nullptr;
754 if( a_setupInfo.m_multiGroup != nullptr ) {
755 transportables1 = &a_setupInfo.m_multiGroup->transportables( ); }
756 else if( a_setupInfo.m_heatedMultiGroup != nullptr ) {
757 transportables1 = &a_setupInfo.m_heatedMultiGroup->transportables( );
758 }
759 if( transportables1 != nullptr ) {
760 for( std::size_t index = 0; index < transportables1->size( ); ++index ) {
761 Transportable const &transportable = *transportables1->get<Transportable>( index );
762
763 m_transportables.add( new Transportable( transportable ) );
764 }
765
766 } }
767 else if( a_setupInfo.m_heatedMultiGroup == nullptr ) {
768 a_setupInfo.m_heatedMultiGroup = this;
769 }
770}
#define GIDI_gridded1dChars
Definition GIDI.hpp:293
#define GIDI_fluxNodeChars
Definition GIDI.hpp:385
#define GIDI_inverseSpeedChars
Definition GIDI.hpp:457
#define GIDI_parametersChars
Definition GIDI.hpp:427
#define GIDI_transportablesChars
Definition GIDI.hpp:247
#define GIDI_labelChars
Definition GIDI.hpp:438
Base(HAPI::Node const &a_node, SetupInfo &a_setupInfo, GIDI::Suite *a_parent)
Transportable const & transportable(std::string const &a_ID) const
T * get(std::size_t a_Index)
Definition GIDI.hpp:2642
std::size_t size() const
Definition GIDI.hpp:2591
Form * parseTransportablesSuite(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)

◆ ~HeatedMultiGroup()

GIDI::Styles::HeatedMultiGroup::~HeatedMultiGroup ( )

Definition at line 775 of file GIDI_styles.cc.

775 {
776
777}

Referenced by ~HeatedMultiGroup().

Member Function Documentation

◆ flux()

Flux const & GIDI::Styles::HeatedMultiGroup::flux ( ) const
inline

Returns a const reference to member m_flux.

Definition at line 3326 of file GIDI.hpp.

◆ groupBoundaries()

std::vector< double > GIDI::Styles::HeatedMultiGroup::groupBoundaries ( std::string const & a_ID) const

Returns the multi-group boundaries for the particle with id a_ID used for processing this HeatedMultiGroup.

Parameters
a_ID[in] Particle id for the requested product.
Returns
The multi-group boundaries.

Definition at line 813 of file GIDI_styles.cc.

813 {
814
815 Transportable const &transportable1 = transportable( a_ID );
816
817 return( transportable1.groupBoundaries( ) );
818}

Referenced by GIDI::ProtareSingle::groupBoundaries(), groupBoundaries(), and GIDI::Reaction::recalculateMultiGroupData().

◆ inverseSpeedData()

Vector GIDI::Styles::HeatedMultiGroup::inverseSpeedData ( ) const
inline

Returns the value of the m_inverseSpeed data.

Definition at line 3329 of file GIDI.hpp.

Referenced by GIDI::ProtareSingle::multiGroupInverseSpeed().

◆ parameters()

std::string const & GIDI::Styles::HeatedMultiGroup::parameters ( ) const
inline

Returns a const reference to member m_parameters. Only used for GNDS 1.10.

Definition at line 3327 of file GIDI.hpp.

◆ temperature()

PhysicalQuantity const & GIDI::Styles::HeatedMultiGroup::temperature ( ) const
virtual

Ascends the derivedFrom styles until a temperature is found.

Returns
Returns the temperature associated with this style.

Implements GIDI::Styles::Base.

Definition at line 785 of file GIDI_styles.cc.

785 {
786
787 Base const *style = getDerivedStyle( );
788
789 if( style == nullptr ) throw Exception( "No style with temperature." );
790 return( style->temperature( ) );
791}
Base const * getDerivedStyle() const

Referenced by temperature().

◆ toXMLList()

void GIDI::Styles::HeatedMultiGroup::toXMLList ( GUPI::WriteInfo & a_writeInfo,
std::string const & a_indent ) const
virtual

Fills the argument a_writeInfo with the XML lines that represent this. Recursively enters each sub-node.

Parameters
a_writeInfo[in/out] Instance containing incremental indentation and other information and stores the appended lines.
a_indent[in] The amount to indent this node.

Reimplemented from GUPI::Ancestry.

Definition at line 827 of file GIDI_styles.cc.

827 {
828
829 std::string indent2 = a_writeInfo.incrementalIndent( a_indent );
830 std::string indent3 = a_writeInfo.incrementalIndent( indent2 );
831 std::string attributes = baseXMLAttributes( a_writeInfo );
832
833 attributes += a_writeInfo.addAttribute( GIDI_parametersChars, m_parameters );
834 a_writeInfo.addNodeStarter( a_indent, moniker( ), attributes );
835 m_flux.toXMLList( a_writeInfo, indent2 );
836
837 a_writeInfo.addNodeStarter( indent2, GIDI_inverseSpeedChars, "" );
838 m_inverseSpeed.toXMLList_func( a_writeInfo, indent3, false, false );
840 a_writeInfo.addNodeEnder( moniker( ) );
841}
std::string baseXMLAttributes(GUPI::WriteInfo &a_writeInfo) const
std::string const & moniker() const
Definition GUPI.hpp:102
void addNodeEnder(std::string const &a_moniker)
Definition GUPI.hpp:59
std::string incrementalIndent(std::string const &indent)
Definition GUPI.hpp:52
void addNodeStarter(std::string const &indent, std::string const &a_moniker, std::string const &a_attributes="")
Definition GUPI.hpp:55
std::string addAttribute(std::string const &a_name, std::string const &a_value) const
Definition GUPI.hpp:60

Referenced by toXMLList().

◆ transportable()

Transportable const & GIDI::Styles::HeatedMultiGroup::transportable ( std::string const & a_ID) const

Returns the Transportable instance for the particle with id a_ID used for processing this HeatedMultiGroup.

Parameters
a_ID[in] Particle id for the requested product.
Returns
The multi-group boundaries.

Definition at line 800 of file GIDI_styles.cc.

800 {
801
802 return( *m_transportables.get<Transportable>( a_ID ) );
803}

Referenced by groupBoundaries(), GIDI::Transporting::Particles::process(), and transportable().

◆ transportables()

GIDI::Suite const & GIDI::Styles::HeatedMultiGroup::transportables ( ) const
inline

Returns a const reference to m_transportables.

Definition at line 3323 of file GIDI.hpp.


The documentation for this class was generated from the following files: