mirror of
https://github.com/nqrduck/quackseq-simulator.git
synced 2025-01-02 18:08:07 +00:00
Made nuclear spin a selection setting.
This commit is contained in:
parent
6a853ed0bf
commit
2bfea9c3aa
2 changed files with 18 additions and 4 deletions
|
@ -89,6 +89,7 @@ class SimulatorController(SpectrometerController):
|
||||||
sample_diameter = None
|
sample_diameter = None
|
||||||
|
|
||||||
name = model.settings.sample_name
|
name = model.settings.sample_name
|
||||||
|
n_atoms = model.settings.n_atoms
|
||||||
density = model.settings.density
|
density = model.settings.density
|
||||||
molar_mass = model.settings.molar_mass
|
molar_mass = model.settings.molar_mass
|
||||||
resonant_frequency = model.settings.resonant_frequency
|
resonant_frequency = model.settings.resonant_frequency
|
||||||
|
@ -103,6 +104,7 @@ class SimulatorController(SpectrometerController):
|
||||||
|
|
||||||
sample = Sample(
|
sample = Sample(
|
||||||
name=name,
|
name=name,
|
||||||
|
atoms=n_atoms,
|
||||||
density=density,
|
density=density,
|
||||||
molar_mass=molar_mass,
|
molar_mass=molar_mass,
|
||||||
resonant_frequency=resonant_frequency,
|
resonant_frequency=resonant_frequency,
|
||||||
|
|
|
@ -6,6 +6,7 @@ from quackseq.spectrometer.spectrometer_settings import (
|
||||||
IntSetting,
|
IntSetting,
|
||||||
FloatSetting,
|
FloatSetting,
|
||||||
StringSetting,
|
StringSetting,
|
||||||
|
SelectionSetting,
|
||||||
)
|
)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
@ -37,6 +38,7 @@ class SimulatorModel(SpectrometerModel):
|
||||||
|
|
||||||
# Sample settings, this will be done in a separate module later on
|
# Sample settings, this will be done in a separate module later on
|
||||||
SAMPLE_NAME = "Name"
|
SAMPLE_NAME = "Name"
|
||||||
|
NUMBER_ATOMS = "Number of atoms"
|
||||||
DENSITY = "Density (g/cm^3)"
|
DENSITY = "Density (g/cm^3)"
|
||||||
MOLAR_MASS = "Molar mass (g/mol)"
|
MOLAR_MASS = "Molar mass (g/mol)"
|
||||||
RESONANT_FREQUENCY = "Resonant freq. (MHz)"
|
RESONANT_FREQUENCY = "Resonant freq. (MHz)"
|
||||||
|
@ -232,6 +234,15 @@ class SimulatorModel(SpectrometerModel):
|
||||||
)
|
)
|
||||||
self.add_setting("sample_name", sample_name_setting)
|
self.add_setting("sample_name", sample_name_setting)
|
||||||
|
|
||||||
|
sample_n_atoms_setting = IntSetting(
|
||||||
|
self.NUMBER_ATOMS,
|
||||||
|
self.SAMPLE,
|
||||||
|
0,
|
||||||
|
"The number of atoms in the sample.",
|
||||||
|
min_value=0,
|
||||||
|
)
|
||||||
|
self.add_setting("n_atoms", sample_n_atoms_setting)
|
||||||
|
|
||||||
density_setting = FloatSetting(
|
density_setting = FloatSetting(
|
||||||
self.DENSITY,
|
self.DENSITY,
|
||||||
self.SAMPLE,
|
self.SAMPLE,
|
||||||
|
@ -270,12 +281,13 @@ class SimulatorModel(SpectrometerModel):
|
||||||
)
|
)
|
||||||
self.add_setting("gamma", gamma_setting)
|
self.add_setting("gamma", gamma_setting)
|
||||||
|
|
||||||
nuclear_spin_setting = FloatSetting(
|
spin_options = ["3/2", "5/2", "7/2", "9/2"]
|
||||||
|
nuclear_spin_setting = SelectionSetting(
|
||||||
self.NUCLEAR_SPIN,
|
self.NUCLEAR_SPIN,
|
||||||
self.SAMPLE,
|
self.SAMPLE,
|
||||||
9 / 2,
|
spin_options,
|
||||||
"The nuclear spin of the sample’s nuclei.",
|
default="9/2",
|
||||||
min_value=0,
|
description="The nuclear spin of the sample’s nuclei.",
|
||||||
)
|
)
|
||||||
self.add_setting("nuclear_spin", nuclear_spin_setting)
|
self.add_setting("nuclear_spin", nuclear_spin_setting)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue