pleiades.sammy.parameters.normalization module

Data class for card 06::normalization and background parameters.

class pleiades.sammy.parameters.normalization.NormalizationParameters(*, anorm: float, backa: float, backb: float, backc: float, backd: float, backf: float, 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
classmethod from_lines(lines: List[str]) NormalizationParameters[source]

Parse normalization parameters from a list of fixed-width format lines.

Parameters:

lines – List of input lines

Returns:

Parsed parameters

Return type:

NormalizationParameters

Raises:

ValueError – If lines are invalid or required data is missing

to_lines() List[str][source]

Convert the parameters to a list of fixed-width format lines.

Returns:

Lines representing the parameters

Return type:

List[str]

model_config = {}

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

class pleiades.sammy.parameters.normalization.NormalizationBackgroundCard(*, angle_sets: Annotated[List[NormalizationParameters], MinLen(min_length=1)])[source]

Bases: BaseModel

Container for complete normalization/background card set (Card Set 6).

This class handles a complete card set, including: - Header line - Parameter entries for each angle - Trailing blank line

angle_sets: List[NormalizationParameters]
classmethod is_header_line(line: str) bool[source]

Check if line is a valid header line.

Parameters:

line – Input line to check

Returns:

True if line is a valid header

Return type:

bool

classmethod from_lines(lines: List[str]) NormalizationBackgroundCard[source]

Parse a complete normalization card set from lines.

Parameters:

lines – List of input lines including header

Returns:

Parsed card set

Return type:

NormalizationBackgroundCard

Raises:

ValueError – If no valid header found or invalid format

to_lines() List[str][source]

Convert the card set to a list of lines.

Returns:

Lines including header and parameters

Return type:

List[str]

model_config = {}

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