hexrd.instrument.physics_package module

class hexrd.instrument.physics_package.AbstractPhysicsPackage(**kwargs)[source]

Bases: object

abstract class for the physics package. there will be two separate physics package class types – one for HED samples and the other for HEDM samples.

Parameters

The parameters are set up so that layer attributes can be accessed (via both setters and getters) with <layer_name>_<attribute>.

For example, for sample thickness, you may specify sample_thickness.

Notes

[1] Rygg et al., X-ray diffraction at the National

Ignition Facility, Rev. Sci. Instrum. 91, 043902 (2020)

[2] M. Stoeckl, A. A. Solodov

Readout models for BaFBr0.85I0.15:Eu image plates Rev. Sci. Instrum. 89, 063101 (2018

LAYER_TYPES = []
SPECIAL_LAYERS = {}
property attributes_to_serialize
deserialize(**kwargs)[source]
make_layer(name: str, **kwargs) PhysicsPackageLayer[source]
serialize()[source]
abstract property type
class hexrd.instrument.physics_package.HEDMPhysicsPackage(**kwargs)[source]

Bases: AbstractPhysicsPackage

LAYER_TYPES = ['sample']
SPECIAL_LAYERS = {'sample': <class 'hexrd.instrument.physics_package.HEDMSampleLayer'>}
property sample_diameter
property type
class hexrd.instrument.physics_package.HEDMSampleLayer(name: str = '', material: str = '', density: float = 0, thickness: float = 0, formula: str | None = None, geometry: str = '')[source]

Bases: PhysicsPackageLayer

geometry: str = ''
class hexrd.instrument.physics_package.HEDPhysicsPackage(**kwargs)[source]

Bases: AbstractPhysicsPackage

LAYER_TYPES = ['ablator', 'heatshield', 'pusher', 'sample', 'reflective', 'window', 'pinhole']
SPECIAL_LAYERS = {'pinhole': <class 'hexrd.instrument.physics_package.PinholeLayer'>}
absorption_length(energy, layer)[source]
layer_standoff(layer: str) float[source]
layer_thickness(layer: str) float[source]
property pinhole_radius
property type
class hexrd.instrument.physics_package.PhysicsPackageLayer(name: str = '', material: str = '', density: float = 0, thickness: float = 0, formula: str | None = None)[source]

Bases: object

density: float = 0
formula: str | None = None
material: str = ''
name: str = ''
thickness: float = 0
class hexrd.instrument.physics_package.PinholeLayer(name: str = '', material: str = '', density: float = 0, thickness: float = 0, formula: str | None = None, diameter: float = 0)[source]

Bases: PhysicsPackageLayer

diameter: float = 0