Source code for fudge.gnds.reactionData.availableEnergy

# <<BEGIN-copyright>>
# <<END-copyright>>

from xData import axes as axesModule
from xData import XYs as XYsModule
from xData import gridded as griddedModule

from fudge.gnds import tokens as tokensModule
from fudge.gnds import abstractClasses as abstractClassesModule

__metaclass__ = type

[docs]def defaultAxes( energyUnit ) : axes = axesModule.axes( rank = 2 ) axes[0] = axesModule.axis( 'energy_available', 0, energyUnit ) axes[1] = axesModule.axis( 'energy_in', 1, energyUnit ) return( axes )
[docs]class baseAvailableEnergyForm( abstractClassesModule.form ) : pass
# # availableEnergy forms #
[docs]class XYs1d( baseAvailableEnergyForm, XYsModule.XYs1d ) : mutableYUnit = False def __init__( self, **kwargs ) : XYsModule.XYs1d.__init__( self, **kwargs )
[docs] def processMultiGroup( self, style, tempInfo, indent ) : from fudge.processing import miscellaneous as miscellaneousModule if( tempInfo['verbosity'] > 2 ) : print '%sMulti-grouping XYs1d available energy' % indent return( miscellaneousModule.groupFunctionCrossSectionAndFlux( gridded1d, style, tempInfo, self ) )
[docs]class gridded1d( baseAvailableEnergyForm, griddedModule.gridded1d ) : def __init__( self, **kwargs ) : griddedModule.gridded1d.__init__( self, **kwargs )
# # availableEnergy component #
[docs]class component( abstractClassesModule.component ) : moniker = 'availableEnergy' def __init__( self ) : abstractClassesModule.component.__init__( self, ( XYs1d, gridded1d, ) )
[docs]def parseXMLNode( element, xPath, linkData ) : """Reads an xml <availableEnergy> component element into fudge, including all forms in the component.""" xPath.append( element.tag ) aec = component() for form in element: formClass = { XYs1d.moniker : XYs1d, gridded1d.moniker : gridded1d, }.get( form.tag ) if( formClass is None ) : raise Exception( "encountered unknown availableEnergy form: %s" % form.tag ) try : newForm = formClass.parseXMLNode( form, xPath, linkData ) except Exception as e: raise Exception, "availableEnergy/%s: %s" % (form.tag, e) aec.add( newForm ) xPath.pop() return aec