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:
BaseModelParameters 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
- 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:
- 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:
BaseModelContainer 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:
- 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:
- 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].