ewokstomo.tasks.energycalculation.ApplyAttenuators#
- class ewokstomo.tasks.energycalculation.ApplyAttenuators(inputs=None, varinfo=None, node_id=None, node_attrs=None, execinfo=None, profile_directory=None)[source]#
Bases:
TaskApply a stack of attenuators to the source spectrum (and optionally flux).
Inputs#
- energy_eVnumpy.ndarray
Photon energy grid in electron-volts.
- spectral_powernumpy.ndarray
Power spectrum (W/eV).
- attenuatorsdict[str, dict]
Mapping where each value contains
material,thickness_mmand optionaldensity_g_cm3.materialaccepts element symbols (e.g."Al"), NIST aliases (e.g."kapton") or chemical formulae parsable byxraylib.- orderlist[str], optional
Explicit stacking order of the attenuator keys. Defaults to the dictionary insertion order.
- fluxnumpy.ndarray, optional
Source flux array (phot/s/0.1%bw) matching
energy_eV.
Outputs#
- energy_eVnumpy.ndarray
Same energy grid passed through.
- transmissionnumpy.ndarray
Cumulative transmission of the attenuator stack.
- attenuated_spectral_powernumpy.ndarray
spectral_powermultiplied bytransmission.- attenuated_fluxnumpy.ndarray | None
fluxmultiplied bytransmissionwhen provided, otherwiseNone.
- type inputs:
- param inputs:
- type varinfo:
- param varinfo:
- type node_id:
- param node_id:
- type node_attrs:
- param node_attrs:
- type execinfo:
- param execinfo:
- type profile_directory:
- param profile_directory: