Source code for fudge.gnds.productData.momentumDeposition

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

import xData.axes as axesModule
import xData.XYs as XYsModule
import xData.regions as regionsModule
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, momentumDepositionUnit ) : axes = axesModule.axes( rank = 2 ) axes[0] = axesModule.axis( 'averageProductMomentum', 0, momentumDepositionUnit ) axes[1] = axesModule.axis( 'energy_in', 1, energyUnit ) return( axes )
[docs]class baseMomentumDepositionForm( abstractClassesModule.form ) : pass
[docs]class XYs1d( baseMomentumDepositionForm, XYsModule.XYs1d ) : def __init__( self, **kwargs ) : baseMomentumDepositionForm.__init__( self ) 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 average momentum' % indent return( miscellaneousModule.groupFunctionCrossSectionAndFlux( gridded1d, style, tempInfo, self ) )
[docs]class regions1d( baseMomentumDepositionForm, regionsModule.regions1d ) : def __init__( self, **kwargs ) : baseMomentumDepositionForm.__init__( self ) regionsModule.regions1d.__init__( self, **kwargs )
[docs] def processMultiGroup( self, style, tempInfo, indent ) : linear = self.toPointwise_withLinearXYs( accuracy = 1e-5, upperEps = 1e-8 ) return( linear.processMultiGroup( style, tempInfo, indent ) )
[docs] def toLinearXYsClass( self ) : return( XYs1d )
[docs] @staticmethod def allowedSubElements( ) : return( ( XYs1d, ) )
[docs]class gridded1d( baseMomentumDepositionForm, griddedModule.gridded1d ) : def __init__( self, **kwargs ) : griddedModule.gridded1d.__init__( self, **kwargs )
# # momentumDeposition component #
[docs]class component( abstractClassesModule.component ) : moniker = 'averageProductMomentum' def __init__( self ) : abstractClassesModule.component.__init__( self, ( XYs1d, regions1d, gridded1d ) )