fudge.gnds.productData.distributions package

Subpackages

Submodules

fudge.gnds.productData.distributions.Legendre module

This is for ENDL I = 4 data with l > 0. This is a temporary module, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.

class fudge.gnds.productData.distributions.Legendre.LLNLPointwise(axes)[source]

Bases: fudge.gnds.productData.distributions.Legendre.subform

This is for ENDL I = 4 data with l > 0. This is a temporary class, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.

append(EEpP)[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

moniker = 'LLNLLegendrePointwise'
static parseXMLNode(element, xPath, linkData)[source]
processMultiGroup(style, tempInfo, indent)[source]
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
fudge.gnds.productData.distributions.Legendre.defaultAxes(energyUnit)[source]
class fudge.gnds.productData.distributions.Legendre.form(label, productFrame, LegendreSubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

This is for ENDL I = 4 data with l > 0. This is a temporary class, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.

calculateAverageProductData(style, indent='', **kwargs)[source]
moniker = 'LLNLLegendre'
static parseXMLNode(LegendreElement, xPath, linkData)[source]
processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('Legendre',)
class fudge.gnds.productData.distributions.Legendre.subform[source]

Bases: fudge.gnds.productData.distributions.base.subform

Abstract base class for LLNLLegendre forms.

fudge.gnds.productData.distributions.angular module

Angular distribution classes with forms form, twoBodyForm and CoulombElasticForm.

This details most of the stuff in angular.py, and it also applies to energy.py, energyAngular.py and angularEnergy.py. Here we only describe some of the old classes. Namely,

  • pdfOfMu.pointwise

    • Stores a P(\mu) as a list of \mu_i, P_i
  • pdfOfMu.Legendre

    • Stores a P(\mu) as a Legendre series
  • pointwise

    • Stores the P(\mu|E) as a list of P(\mu) which can be either pdfOfMu.pointwise of pdfOfMu.Legendre
  • piecewise

    • Stores P(\mu|E) as a contigous list of pointwise instances.

and their new equivalent classes

Note, there was no pdfOfMu.piecewise and its new equivalent regions1d, as they are not currently needed. There are other classes in angular.py (e.g., isotropic2d, forward, recoil) but we can ignore them for now.

So what are the classes in angular.py for? They are to represent the physics function P(\mu|E) where \mu is the outgoing \cos( \theta ) and E is the projectile’s energy. Currently, we only store these as list of P(\mu) or C_l‘s (or regions of these).

For the simple case with only P(\mu‘s (no C_l‘s), and no change of interpolation or step in function, a P(\mu|E) looks like:

E_1, P_1(mu)
E_2, P_2(mu)
...
E_n-1, P_n-1(mu)
E_1, P_1(mu)

In the old code each P_i(\mu) was stored as an instance of a pdfOfMu.pointwise and the P(mu|E) was an instance of pointwise. In the new code each :math:’P_i(mu)` is stored as an instance of XYs1d, and P(\mu|E) is an instance of XYs2d. There are several nice things about the new structure. For example, the names here match the names in xData. Also, the internal functions do not need to be nested as, for example, pdfOfMu.pointwise was. This latter point is a result of adding the dimension to the name of each class (e.g., XYs1d vs. XYs2d) so there is no name clashing.

As a further note, in MF=4, the LTT = 1, 2 and 3 are stored using

LTT=1
XYs1d for P(\mu) and XYs2d for the list of {E_i,P(\mu)}.
LTT=2
Legendre for P(\mu) and XYs2d for the list of {E_i,P(\mu)}.
LTT=3
regions2d that stores the LTT=1 in the first region and LTT=2 in the second region.
class fudge.gnds.productData.distributions.angular.Legendre(coefficients, domainMin=-1, domainMax=1, lowerIndex=0, axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ')[source]

Bases: xData.series1d.LegendreSeries

averageMu()[source]
toLinearXYsClass()[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angular.XYs1d(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]

Bases: xData.XYs.XYs1d

averageMu()[source]
invert()[source]
isIsotropic()[source]
toLinearXYsClass()[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angular.XYs2d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.angular.subform, xData.multiD_XYs.XYs2d

static allowedSubElements()[source]
averageMu(E, accuracy=None)[source]
check(info)[source]
getAtEnergy(energy)[source]
getEnergyArray(EMin=None, EMax=None)[source]
invert()[source]
isIsotropic()[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
fudge.gnds.productData.distributions.angular.calculateAverageProductData(self, style, indent, **kwargs)[source]

This function calculates average product data for two-body reactions.

fudge.gnds.productData.distributions.angular.defaultAxes(energyUnit)[source]
class fudge.gnds.productData.distributions.angular.form(label, productFrame, angularSubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

This class only seems to be used in site_packages/legacy/toENDF6/productData/distributions/uncorrelated.py to write GNDS structure to ENDF6. This class should be deprecated.

ancestryMembers = ('angularSubform',)
calculateAverageProductData(style, indent='', **kwargs)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

moniker = 'angular'
static parseXMLNode(angularElement, xPath, linkData)[source]

Translate <angular> element from xml.

processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('angularSubform',)
class fudge.gnds.productData.distributions.angular.forward[source]

Bases: fudge.gnds.productData.distributions.angular.subform

ancestryMembers = ('',)
averageMu(E, accuracy=None)[source]
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
domainMax
domainMin
domainUnit
getEnergyArray(EMin=None, EMax=None)[source]
invert()[source]
isIsotropic()[source]
moniker = 'forward'
static parseXMLNode(element, xPath, linkData)[source]
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.angular.isotropic1d[source]

Bases: xData.ancestry.ancestry

ancestryMembers = ('',)
evaluate(mu)[source]
isIsotropic()[source]
moniker = 'isotropic1d'
class fudge.gnds.productData.distributions.angular.isotropic2d[source]

Bases: fudge.gnds.productData.distributions.angular.subform

ancestryMembers = ('',)
averageMu(E, accuracy=None)[source]
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
domainMax
domainMin
domainUnit
evaluate(energy)[source]
getEnergyArray(EMin=None, EMax=None)[source]
invert()[source]
isIsotropic()[source]
moniker = 'isotropic2d'
static parseXMLNode(element, xPath, linkData)[source]
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.angular.recoil(link, root=None, path=None, relative=False)[source]

Bases: xData.link.link, fudge.gnds.productData.distributions.angular.subform

ancestryMembers = ('',)
averageMu(E, accuracy=None)[source]
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
getEnergyArray(EMin=None, EMax=None)[source]
getNumericalDistribution()[source]
isIsotropic()[source]
moniker = 'recoil'
partner
toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.angular.regions2d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.angular.subform, xData.regions.regions2d

static allowedSubElements()[source]
averageMu(E, accuracy=None)[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
check(info)[source]
getEnergyArray(EMin=None, EMax=None)[source]
isIsotropic()[source]
toLinearXYsClass()[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angular.subform[source]

Bases: fudge.gnds.productData.distributions.base.subform

Abstract base class for angular subforms.

to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angular.twoBodyForm(label, productFrame, angularSubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

ancestryMembers = ('angularSubform',)
averageMu(E, accuracy=None)[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

evaluate(energy, mu, phi=0, frame=None)[source]
getEnergyArray(EMin=None, EMax=None)[source]
invert()[source]
isIsotropic()[source]
isTwoBody()[source]
moniker = 'angularTwoBody'
static parseXMLNode(angularElement, xPath, linkData)[source]

Translate <angularTwoBody> element from xml. Returns instance of angular.twoBodyForm.

processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('angularSubform',)
toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.angular.xs_pdf_cdf1d(_xs, _pdf, _cdf, value=None, axes=None, interpolation='lin-lin')[source]

Bases: fudge.gnds.productData.distributions.xs_pdf_cdf.xs_pdf_cdf1d

isIsotropic()[source]

fudge.gnds.productData.distributions.angularEnergy module

class fudge.gnds.productData.distributions.angularEnergy.LLNLAngularEnergyForm(label, productFrame, angularSubform, angularEnergySubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

This class is for legacy LLNL ENDL I = 1 and 3 data and is deprecated. Only use for the legacy ENDL data.

calculateAverageProductData(style, indent='', **kwargs)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

moniker = 'LLNLAngularEnergy'
static parseXMLNode(element, xPath, linkData)[source]
processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('angularSubform', 'angularEnergySubform')
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.angularEnergy.LLNLAngularEnergyOfAngularEnergySubform(data)[source]

Bases: fudge.gnds.productData.distributions.base.subform

convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
moniker = 'LLNLAngularEnergyOfAngularEnergy'
static parseXMLNode(element, xPath, linkData)[source]
toXMLList(indent='', **kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angularEnergy.LLNLAngularOfAngularEnergySubform(data)[source]

Bases: fudge.gnds.productData.distributions.base.subform

convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
moniker = 'LLNLAngularOfAngularEnergy'
static parseXMLNode(element, xPath, linkData)[source]
toXMLList(indent='', **kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.angularEnergy.XYs1d(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]

Bases: xData.XYs.XYs1d

averageEnergy()[source]
averageMomentum()[source]
class fudge.gnds.productData.distributions.angularEnergy.XYs2d(interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, interpolationQualifier='')[source]

Bases: xData.multiD_XYs.XYs2d

static allowedSubElements()[source]
averageEnergy()[source]
averageMomentum()[source]
class fudge.gnds.productData.distributions.angularEnergy.XYs3d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.angularEnergy.subform, xData.multiD_XYs.XYs3d

static allowedSubElements()[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
check(info)[source]

Check for incomplete angular distributions + any negative probabilities. Ignore normalization for this double-differential distribution.

normalize(insitu=True)[source]
processMultiGroup(style, tempInfo, indent)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
fudge.gnds.productData.distributions.angularEnergy.defaultAxes(energyUnit, probabilityLabel='P(mu, energy_out|energy_in)')[source]
class fudge.gnds.productData.distributions.angularEnergy.form(label, productFrame, angularEnergySubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

ancestryMembers = ('angularEnergySubform',)
calculateAverageProductData(style, indent='', **kwargs)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

moniker = 'angularEnergy'
static parseXMLNode(element, xPath, linkData)[source]
processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('angularEnergySubform',)
class fudge.gnds.productData.distributions.angularEnergy.subform[source]

Bases: fudge.gnds.productData.distributions.base.subform

Abstract base class for angularEnergy forms.

fudge.gnds.productData.distributions.base module

Base classes for distributions.

class fudge.gnds.productData.distributions.base.form(label, productFrame, subForms)[source]

Bases: fudge.gnds.abstractClasses.form

convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

findEntity(entityName, attribute=None, value=None)[source]

Find specific subform within the form. Overrides ancestry.findEntity.

isSpecified()[source]
isTwoBody()[source]
label
productFrame
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.base.subform[source]

Bases: xData.ancestry.ancestry

XMLStartTagString(indent='', extraAttributesAsStrings='', emptyTag=False)[source]

fudge.gnds.productData.distributions.energy module

Energy distribution classes.

class fudge.gnds.productData.distributions.energy.MadlandNix(EFL, EFH, Ts)[source]

Bases: fudge.gnds.productData.distributions.energy.functionalBase

averageEp(E)[source]
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
getEnergyArray(EMin=None, EMax=None)[source]
moniker = 'MadlandNix'
static parseXMLNode(MNelement, xPath, linkData)[source]

Translate <MadlandNix> element from xml.

toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.energy.NBodyPhaseSpace(numberOfProducts, numberOfProductsMasses)[source]

Bases: fudge.gnds.productData.distributions.energy.subform

ancestryMembers = ('',)
averageEp(E, massUnit, projectileMass, targetMass, productMass, Q)[source]

Calculate the average energy of the product in the center-of-mass frame for projectile energy E. This method only works for a one-step reaction.

check(info)[source]
convertUnits(unitMap)[source]
copy()[source]
moniker = 'NBodyPhaseSpace'
static parseXMLNode(element, xPath, linkData)[source]
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]

Returns the xml string representation of self.

class fudge.gnds.productData.distributions.energy.T_M(data)[source]

Bases: fudge.gnds.productData.distributions.energy.energyFunctionalData

moniker = 'T_M'
class fudge.gnds.productData.distributions.energy.WattSpectrum(U, a, b)[source]

Bases: fudge.gnds.productData.distributions.energy.functionalBase

averageEp(E)[source]
getEnergyArray(EMin=None, EMax=None)[source]
moniker = 'Watt'
static parseXMLNode(WattElement, xPath, linkData)[source]

Translate <Watt> element from xml.

toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.energy.XYs1d(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]

Bases: xData.XYs.XYs1d

averageEnergy()[source]
class fudge.gnds.productData.distributions.energy.XYs2d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.energy.subform, xData.multiD_XYs.XYs2d

static allowedSubElements()[source]
averageEp(energy)[source]
check(info)[source]
getAtEnergy(energy)[source]

This method is deprecated, use getSpectrumAtEnergy.

getEnergyArray(EMin=None, EMax=None)[source]
getSpectrumAtEnergy(energy)[source]

Returns the energy spectrum for self at projectile energy.

sqrtEp_AverageAtE(E)[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.energy.a(data)[source]

Bases: fudge.gnds.productData.distributions.energy.energyFunctionalData

moniker = 'a'
class fudge.gnds.productData.distributions.energy.b(data)[source]

Bases: fudge.gnds.productData.distributions.energy.energyFunctionalData

moniker = 'b'
fudge.gnds.productData.distributions.energy.defaultAxes(energyUnit)[source]
class fudge.gnds.productData.distributions.energy.discreteGamma(value, domainMin, domainMax, axes=None)[source]

Bases: fudge.gnds.productData.distributions.energy.discretePrimaryGamma

averageEp(E)[source]
check(info)[source]
moniker = 'discreteGamma'
class fudge.gnds.productData.distributions.energy.discretePrimaryGamma(value, domainMin, domainMax, axes=None)[source]

Bases: fudge.gnds.productData.distributions.energy.subform

ancestryMembers = ('',)
axes
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
dimension = 2
getEnergyArray(EMin=None, EMax=None)[source]
classmethod parseXMLNode(element, xPath, linkData)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.energy.energyFunctionalData(data)[source]

Bases: xData.ancestry.ancestry

ancestryMembers = ('data',)
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
classmethod parseXMLNode(element, xPath, linkData)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.energy.energyFunctionalDataToPointwise(data, evaluateAtX)[source]

Bases: object

toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.energy.evaporationSpectrum(U, thetas)[source]

Bases: fudge.gnds.productData.distributions.energy.functionalBase

averageEp(E)[source]
moniker = 'evaporation'
static parseXMLNode(evapElement, xPath, linkData)[source]
sqrtEp_AverageAtE(E)[source]
toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.energy.form(label, productFrame, energySubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

I think this is only used to convert to ENDF6. If so, should be moved to site_packages/legacy/toENDF6/productData/distributions/energy.py

moniker = 'energy'
static parseXMLNode(energyElement, xPath, linkData)[source]

Translate energy component from xml.

subformAttributes = ('energySubform',)
class fudge.gnds.productData.distributions.energy.functionalBase(LF, U, parameter1, parameter2=None)[source]

Bases: fudge.gnds.productData.distributions.energy.subform

ancestryMembers = ('parameter1', 'parameter2')
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
domainMax
domainMin
getEnergyArray(EMin=None, EMax=None)[source]
toXMLList(indent='', **kwargs)[source]

Returns the xml string representation of self.

class fudge.gnds.productData.distributions.energy.g(data)[source]

Bases: fudge.gnds.productData.distributions.energy.energyFunctionalData

moniker = 'g'
class fudge.gnds.productData.distributions.energy.generalEvaporationSpectrum(U, thetas, gs)[source]

Bases: fudge.gnds.productData.distributions.energy.functionalBase

averageEp(E)[source]
isLinear(qualifierOk=False, flatIsOk=False)[source]

Returns the results of isLinear called on the axes of g(E’|E).

moniker = 'generalEvaporation'
static parseXMLNode(element, xPath, linkData)[source]

Translate <generalEvaporation> element from xml.

sqrtEp_AverageAtE(E)[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.energy.primaryGamma(value, domainMin, domainMax, axes=None)[source]

Bases: fudge.gnds.productData.distributions.energy.discretePrimaryGamma

averageEp(E)[source]
check(info)[source]
massRatio
moniker = 'primaryGamma'
class fudge.gnds.productData.distributions.energy.regions1d(axes=None, index=None, valueType='Float64', value=None, label=None)[source]

Bases: xData.regions.regions1d

static allowedSubElements()[source]
averageEnergy()[source]
integrateWithWeight_x()[source]
toLinearXYsClass()[source]
class fudge.gnds.productData.distributions.energy.regions2d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.energy.subform, xData.regions.regions2d

static allowedSubElements()[source]
check(info)[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.energy.simpleMaxwellianFissionSpectrum(U, thetas)[source]

Bases: fudge.gnds.productData.distributions.energy.functionalBase

averageEp(E)[source]
moniker = 'simpleMaxwellianFission'
static parseXMLNode(MFelement, xPath, linkData)[source]
sqrtEp_AverageAtE(E)[source]
toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.energy.subform[source]

Bases: fudge.gnds.productData.distributions.base.subform

Abstract base class for energy forms.

to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
class fudge.gnds.productData.distributions.energy.theta(data)[source]

Bases: fudge.gnds.productData.distributions.energy.energyFunctionalData

moniker = 'theta'
class fudge.gnds.productData.distributions.energy.weighted(weight, functional)[source]

Bases: xData.ancestry.ancestry

ancestryMembers = ('weight', 'functional')
averageEp(E)[source]
checkProductFrame()[source]

Calls checkProductFrame on self’s functional.

convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
getEnergyArray(EMin=None, EMax=None)[source]
moniker = 'weighted'
toXMLList(indent='', **kwargs)[source]

Returns the xml string representation of self.

class fudge.gnds.productData.distributions.energy.weightedFunctionals[source]

Bases: fudge.gnds.productData.distributions.energy.subform

addWeight(weight)[source]
ancestryMembers = ('[weights',)
averageEp(E)[source]
check(info)[source]
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
getEnergyArray(EMin=None, EMax=None)[source]
moniker = 'weightedFunctionals'
static parseXMLNode(WFelement, xPath, linkData)[source]
sqrtEp_AverageAtE(E)[source]

This method has not been implemented. It returns None so the method uncorrelated.calculateAverageProductData will still work when calculating the momentum deposition for isotropic scattering in the lab frame, but will execute a raise otherwise.

toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]

Returns the xml string representation of self.

class fudge.gnds.productData.distributions.energy.xs_pdf_cdf1d(_xs, _pdf, _cdf, value=None, axes=None, interpolation='lin-lin')[source]

Bases: fudge.gnds.productData.distributions.xs_pdf_cdf.xs_pdf_cdf1d

fudge.gnds.productData.distributions.energyAngular module

Energy/angular double differential distribution classes.

class fudge.gnds.productData.distributions.energyAngular.Legendre(coefficients, domainMin=-1, domainMax=1, lowerIndex=0, axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ')[source]

Bases: xData.series1d.LegendreSeries

averageMu()[source]
integrate()[source]
class fudge.gnds.productData.distributions.energyAngular.XYs1d(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]

Bases: xData.XYs.XYs1d

averageMu()[source]
class fudge.gnds.productData.distributions.energyAngular.XYs2d(interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, interpolationQualifier='')[source]

Bases: xData.multiD_XYs.XYs2d

static allowedSubElements()[source]
averageEnergy()[source]
averageForwardMomentum(sqrt_2_ProductMass)[source]
class fudge.gnds.productData.distributions.energyAngular.XYs3d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.energyAngular.subform, xData.multiD_XYs.XYs3d

static allowedSubElements()[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
check(info)[source]
normalize(insitu=True)[source]
processMultiGroup(style, tempInfo, indent)[source]
toPointwise_withLinearXYs(**kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]
fudge.gnds.productData.distributions.energyAngular.defaultAxes(energyUnit)[source]
class fudge.gnds.productData.distributions.energyAngular.form(label, productFrame, energyAngularSubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

ancestryMembers = ('energyAngularSubform',)
calculateAverageProductData(style, indent='', **kwargs)[source]
moniker = 'energyAngular'
static parseXMLNode(element, xPath, linkData)[source]

Translate <energyAngular> element from xml.

processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('energyAngularSubform',)
class fudge.gnds.productData.distributions.energyAngular.regions3d(**kwargs)[source]

Bases: fudge.gnds.productData.distributions.energyAngular.subform, xData.regions.regions3d

static allowedSubElements()[source]
calculateAverageProductData(style, indent='', **kwargs)[source]
check(info)[source]
normalize(insitu=True)[source]
toPointwise_withLinearXYs(**kwargs)[source]
class fudge.gnds.productData.distributions.energyAngular.subform[source]

Bases: fudge.gnds.productData.distributions.base.subform

Abstract base class for energyAngular subforms.

fudge.gnds.productData.distributions.miscellaneous module

fudge.gnds.productData.distributions.miscellaneous.GaussQuadrature2(function, parameters, a, b)[source]
fudge.gnds.productData.distributions.miscellaneous.GnG_adaptiveQuadrature(function, a, b, parameters, quadrature, tolerance, maxEvaluations=1000)[source]
fudge.gnds.productData.distributions.miscellaneous.calculateDepositionEnergyFromAngular_angularEnergy(style, angular, energy, multiplicity, doingGammaMomentum=False, accuracy=1e-06)[source]
fudge.gnds.productData.distributions.miscellaneous.calculateDepositionEnergyFromEpP(E, EpP)[source]

EpP is a list of [ E’, P(E’) ]

fudge.gnds.productData.distributions.photonScattering module

Coherent and incoherent photon scattering forms.

class fudge.gnds.productData.distributions.photonScattering.baseForm(link=None, root=None, path=None, relative=False, label=None)[source]

Bases: fudge.gnds.productData.distributions.base.form, xData.link.link

calculateAverageProductData(style, indent='', **kwargs)[source]
check(info)[source]
processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
productFrame
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.photonScattering.coherentPhotonScattering[source]
class form(link=None, root=None, path=None, relative=False, label=None)[source]

Bases: fudge.gnds.productData.distributions.photonScattering.baseForm

moniker = 'coherentPhotonScattering'
class fudge.gnds.productData.distributions.photonScattering.incoherentPhotonScattering[source]
class form(link=None, root=None, path=None, relative=False, label=None)[source]

Bases: fudge.gnds.productData.distributions.photonScattering.baseForm

moniker = 'incoherentPhotonScattering'

fudge.gnds.productData.distributions.uncorrelated module

Uncorrelated double differential distribution classes.

class fudge.gnds.productData.distributions.uncorrelated.angularSubform(data)[source]

Bases: fudge.gnds.productData.distributions.uncorrelated.subform

moniker = 'angular'
fudge.gnds.productData.distributions.uncorrelated.calculateAverageProductData(productFrame, angularSubform, energySubform, style, indent, **kwargs)[source]
class fudge.gnds.productData.distributions.uncorrelated.energySubform(data)[source]

Bases: fudge.gnds.productData.distributions.uncorrelated.subform

moniker = 'energy'
class fudge.gnds.productData.distributions.uncorrelated.form(label, productFrame, _angularSubform, _energySubform)[source]

Bases: fudge.gnds.productData.distributions.base.form

Contains uncorrelated distributions for outgoing angle and outgoing energy. Use when the correlations between angle and energy are unknown.

ancestryMembers = ('angularSubform', 'energySubform')
calculateAverageProductData(style, indent='', **kwargs)[source]
findEntity(entityName, attribute=None, value=None)[source]

Overrides ancestry.findEntity. uncorrelated contains both energy and angular form, need to check both to find desired entity

getSpectrumAtEnergy(energy)[source]

Returns the energy spectrum for self at projectile energy.

moniker = 'uncorrelated'
static parseXMLNode(element, xPath, linkData)[source]

Translate <uncorrelated> element from xml. Must contain one <angular> and one <energy> component.

processMC_cdf(style, tempInfo, indent)[source]
processMultiGroup(style, tempInfo, indent)[source]
subformAttributes = ('angularSubform', 'energySubform')
toPointwise_withLinearXYs(**kwargs)[source]
toXMLList(indent='', **kwargs)[source]
class fudge.gnds.productData.distributions.uncorrelated.subform(data, dataSubform)[source]

Bases: xData.ancestry.ancestry

ancestryMembers = ('data',)
convertUnits(unitMap)[source]

See documentation for reactionSuite.convertUnits.

copy()[source]
productFrame
toXMLList(indent='', **kwargs)[source]
to_xs_pdf_cdf1d(style, tempInfo, indent)[source]

Module contents