pleiades.sammy.parameters.resonance module

Data class for card 01::resonance.

exception pleiades.sammy.parameters.resonance.UnsupportedFormatError[source]

Bases: ValueError

Error raised when encountering unsupported format features.

class pleiades.sammy.parameters.resonance.ResonanceEntry(*, resonance_energy: float, capture_width: float, channel1_width: float | None = None, channel2_width: float | None = None, channel3_width: float | None = None, vary_energy: VaryFlag = VaryFlag.NO, vary_capture_width: VaryFlag = VaryFlag.NO, vary_channel1: VaryFlag = VaryFlag.NO, vary_channel2: VaryFlag = VaryFlag.NO, vary_channel3: VaryFlag = VaryFlag.NO, igroup: int)[source]

Bases: BaseModel

This class handles the parameters for a single resonance entry in Card Set 1 of a SAMMY parameter file.

Single resonance entry for SAMMY parameter file (strict format)

resonance_energy

Resonance energy Eλ (eV)

Type:

float

capture_width

Capture width Γγ (milli-eV)

Type:

float

channel1_width

Particle width for channel 1 (milli-eV)

Type:

float | None

channel2_width

Particle width for channel 2 (milli-eV)

Type:

float | None

channel3_width

Particle width for channel 3 (milli-eV)

Type:

float | None

NOTE

If any particle width Γ is negative, SAMMY uses abs(Γ) for the width and set the associated amplitude γ to be negative.

vary_energy

Flag indicating if resonance energy is varied

Type:

pleiades.utils.helper.VaryFlag

vary_capture_width

Flag indicating if capture width is varied

Type:

pleiades.utils.helper.VaryFlag

vary_channel1

Flag indicating if channel 1 width is varied

Type:

pleiades.utils.helper.VaryFlag

vary_channel2

Flag indicating if channel 2 width is varied

Type:

pleiades.utils.helper.VaryFlag

vary_channel3

Flag indicating if channel 3 width is varied

Type:

pleiades.utils.helper.VaryFlag

NOTE

0 = no, 1 = yes, 3 = PUP (PUP = Partially Unknown Parameter)

igroup

Quantum numbers group number (or spin_groups)

Type:

int

NOTE

If IGROUP is negative or greater than 50, this resonance will be omitted from the calculation.

x_value

Special value used to detect multi-line entries (unsupported)

resonance_energy: float
capture_width: float
channel1_width: float | None
channel2_width: float | None
channel3_width: float | None
vary_energy: VaryFlag
vary_capture_width: VaryFlag
vary_channel1: VaryFlag
vary_channel2: VaryFlag
vary_channel3: VaryFlag
igroup: int
classmethod from_str(line: str) ResonanceEntry[source]

Parse a resonance entry from a fixed-width format line

to_str() str[source]

Convert the resonance entry to fixed-width format string

model_config = {}

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

class pleiades.sammy.parameters.resonance.ResonanceCard(*, entries: List[ResonanceEntry] = <factory>)[source]

Bases: BaseModel

Container for a complete set of resonance entries (Card Set 1).

Card Set 1 is unique as it has no header, contains multiple resonance entries, and is terminated by a blank line.

entries

List of resonance parameter entries

Type:

List[pleiades.sammy.parameters.resonance.ResonanceEntry]

entries: List[ResonanceEntry]
classmethod from_lines(lines: List[str]) ResonanceCard[source]

Parse resonance entries from lines.

Parameters:

lines – List of resonance entry lines

Returns:

Container with parsed entries

Return type:

ResonanceCard

Raises:

ValueError – If any line cannot be parsed as a resonance entry

to_lines() List[str][source]

Convert entries to fixed-width format lines.

Returns:

Formatted lines including blank terminator

Return type:

List[str]

model_config = {}

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