orsopy.fileio.model_building_blocks module

class orsopy.fileio.model_building_blocks.SubStackType[source]

Bases: ABC

abstract property sub_stack_class: str
abstract resolve_names(resolvable_items)[source]
abstract resolve_defaults(defaults)[source]
abstract resolve_to_layers()[source]
Return type:

List[Layer]

resolve_to_blocks()[source]
Return type:

List[Union[Layer, SubStackType]]

class orsopy.fileio.model_building_blocks.Material(formula=None, mass_density=None, number_density=None, sld=None, magnetic_moment=None, relative_density=None, comment=None)[source]

Bases: Header

formula: Optional[str] = None
mass_density: Union[float, Value, None] = None
number_density: Union[float, Value, None] = None
sld: Union[float, ComplexValue, Value, None] = None
magnetic_moment: Union[float, Value, None] = None
relative_density: Optional[float] = None
original_name = None
resolve_defaults(defaults)[source]
generate_density()[source]
get_sld(xray_energy=None)[source]
Return type:

complex

comment: Optional[str] = None
class orsopy.fileio.model_building_blocks.ModelParameters(roughness=<factory>, length_unit='nm', mass_density_unit='g/cm^3', number_density_unit='1/nm^3', sld_unit='1/angstrom^2', magnetic_moment_unit='muB', slice_resolution=<factory>, default_solvent=<factory>, comment=None)[source]

Bases: Header

roughness: Value
length_unit: str = 'nm'
mass_density_unit: str = 'g/cm^3'
number_density_unit: str = '1/nm^3'
sld_unit: str = '1/angstrom^2'
magnetic_moment_unit: str = 'muB'
slice_resolution: Value
default_solvent: Material
comment: Optional[str] = None
class orsopy.fileio.model_building_blocks.Composit(composition, comment=None)[source]

Bases: Header

composition: Dict[str, float]
original_name = None
resolve_names(resolvable_items)[source]
resolve_defaults(defaults)[source]
generate_density(xray_energy=None)[source]

Create a material based on the composition attribute.

get_sld(xray_energy=None)[source]
comment: Optional[str] = None
class orsopy.fileio.model_building_blocks.Layer(thickness=None, roughness=None, material=None, composition=None, comment=None)[source]

Bases: Header

thickness: Union[float, Value, None] = None
roughness: Union[float, Value, None] = None
material: Union[Material, Composit, str, None] = None
composition: Optional[Dict[str, float]] = None
original_name = None
resolve_names(resolvable_items)[source]
resolve_defaults(defaults)[source]
generate_material()[source]

Create a material based on the composition attribute.

comment: Optional[str] = None