pleiades.experimental.models module

class pleiades.experimental.models.EnergyParameters(*, min_energy: float = 0.0, max_energy: float = 0.0, number_of_energy_points: int = 10001, number_of_extra_points: int = 0, number_of_small_res_points: int = 0)[source]

Bases: BaseModel

Parameters for energy bounds and sampling

Parameters:

BaseModel (_type_) – _description_

Raises:
Returns:

_description_

Return type:

_type_

min_energy: float
max_energy: float
number_of_energy_points: int
number_of_extra_points: int
number_of_small_res_points: int
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pleiades.experimental.models.NormalizationParameters(*, anorm: float = None, backa: float = None, backb: float = None, backc: float = None, backd: float = None, backf: float = None, d_anorm: float | None = None, d_backa: float | None = None, d_backb: float | None = None, d_backc: float | None = None, d_backd: float | None = None, d_backf: float | None = None, flag_anorm: VaryFlag = VaryFlag.NO, flag_backa: VaryFlag = VaryFlag.NO, flag_backb: VaryFlag = VaryFlag.NO, flag_backc: VaryFlag = VaryFlag.NO, flag_backd: VaryFlag = VaryFlag.NO, flag_backf: VaryFlag = VaryFlag.NO)[source]

Bases: BaseModel

Parameters for normalization and background for one angle.

Contains: - Normalization and background values - Their uncertainties (optional) - Flags indicating whether each parameter should be varied

Note on fixed-width format: Each numeric field in the file uses a 10-column width with a 9+1 pattern: - 9 characters for the actual numeric data (e.g. “1.2340E+00”) - 1 character for space separator

anorm: float
backa: float
backb: float
backc: float
backd: float
backf: float
d_anorm: float | None
d_backa: float | None
d_backb: float | None
d_backc: float | None
d_backd: float | None
d_backf: float | None
flag_anorm: VaryFlag
flag_backa: VaryFlag
flag_backb: VaryFlag
flag_backc: VaryFlag
flag_backd: VaryFlag
flag_backf: VaryFlag
__str__() str[source]

Return a text table representation of the NormalizationParameters object.

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pleiades.experimental.models.BroadeningParameters(*, crfn: float = None, temp: float = None, thick: float = None, deltal: float = None, deltag: float = None, deltae: float = None, d_crfn: float | None = None, d_temp: float | None = None, d_thick: float | None = None, d_deltal: float | None = None, d_deltag: float | None = None, d_deltae: float | None = None, deltc1: float | None = None, deltc2: float | None = None, d_deltc1: float | None = None, d_deltc2: float | None = None, flag_crfn: VaryFlag = VaryFlag.NO, flag_temp: VaryFlag = VaryFlag.NO, flag_thick: VaryFlag = VaryFlag.NO, flag_deltal: VaryFlag = VaryFlag.NO, flag_deltag: VaryFlag = VaryFlag.NO, flag_deltae: VaryFlag = VaryFlag.NO, flag_deltc1: VaryFlag | None = None, flag_deltc2: VaryFlag | None = None)[source]

Bases: BaseModel

Container for a single set of broadening parameters.

Contains all parameters from a single card set 4 entry including: - Main parameters (CRFN, TEMP, etc.) - Their uncertainties - Additional Gaussian parameters - Flags indicating whether each parameter should be varied

Note on fixed-width format: Each numeric field in the file uses a 10-column width with a 9+1 pattern: - 9 characters for the actual numeric data (e.g. “1.2340E+00”) - 1 character for space separator This format ensures human readability while maintaining proper fixed-width alignment.

crfn: float
temp: float
thick: float
deltal: float
deltag: float
deltae: float
d_crfn: float | None
d_temp: float | None
d_thick: float | None
d_deltal: float | None
d_deltag: float | None
d_deltae: float | None
deltc1: float | None
deltc2: float | None
d_deltc1: float | None
d_deltc2: float | None
flag_crfn: VaryFlag
flag_temp: VaryFlag
flag_thick: VaryFlag
flag_deltal: VaryFlag
flag_deltag: VaryFlag
flag_deltae: VaryFlag
flag_deltc1: VaryFlag | None
flag_deltc2: VaryFlag | None
validate_gaussian_parameters() BroadeningParameters[source]

Validate that if any Gaussian parameter is present, both are present.

__str__() str[source]

Return a text table representation of the BroadeningParameters object.

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pleiades.experimental.models.UserResolutionParameters(*, type: UserDefinedResolutionType = UserDefinedResolutionType.USER, burst_width: float | None = None, burst_uncertainty: float | None = None, burst_flag: VaryFlag = VaryFlag.NO, channel_energies: List[float] = <factory>, channel_widths: List[float] = <factory>, channel_uncertainties: List[float | None] = <factory>, channel_flags: List[VaryFlag] = <factory>, filenames: List[str] = <factory>)[source]

Bases: BaseModel

Container for User-Defined Resolution Function parameters.

type

Parameter type identifier (always “USER”)

Type:

pleiades.experimental.models.UserResolutionParameters.UserDefinedResolutionType

burst_width

Square burst width value (ns), optional

Type:

float | None

burst_uncertainty

Uncertainty on burst width, optional

Type:

float | None

burst_flag

Flag for varying burst width

Type:

pleiades.utils.helper.VaryFlag

channel_energies

List of energies for channel widths

Type:

List[float]

channel_widths

List of channel width values

Type:

List[float]

channel_uncertainties

List of uncertainties on channel widths

Type:

List[float | None]

channel_flags

List of flags for varying channel widths

Type:

List[pleiades.utils.helper.VaryFlag]

filenames

List of data file names

Type:

List[str]

class UserDefinedResolutionType(value)[source]

Bases: str, Enum

Enumeration of user defined resolution types.

USER = 'USER'
BURST = 'BURST'
CHANN = 'CHANN'
FILE = 'FILE='
type: UserDefinedResolutionType
burst_width: float | None
burst_uncertainty: float | None
burst_flag: VaryFlag
channel_energies: List[float]
channel_widths: List[float]
channel_uncertainties: List[float | None]
channel_flags: List[VaryFlag]
filenames: List[str]
model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class pleiades.experimental.models.PhysicsParameters(*, energy_parameters: EnergyParameters = <factory>, normalization_parameters: NormalizationParameters = <factory>, broadening_parameters: BroadeningParameters = <factory>, user_resolution_parameters: UserResolutionParameters = <factory>)[source]

Bases: BaseModel

Container for all physics parameters.

energy_parameters

Parameters for energy bounds and sampling

Type:

pleiades.experimental.models.EnergyParameters

normalization_parameters

Parameters for normalization and background

Type:

pleiades.experimental.models.NormalizationParameters

broadening_parameters

Parameters for broadening

Type:

pleiades.experimental.models.BroadeningParameters

user_resolution_parameters

User-defined resolution function parameters

Type:

pleiades.experimental.models.UserResolutionParameters

energy_parameters: EnergyParameters
normalization_parameters: NormalizationParameters
broadening_parameters: BroadeningParameters
user_resolution_parameters: UserResolutionParameters
validate_gaussian_parameters() None[source]

Validate that if any Gaussian parameter is present, both are present.

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].