Skip to content

Commit 4f9869b

Browse files
committed
Move instrument and extinction to SC base
1 parent b453cbf commit 4f9869b

2 files changed

Lines changed: 14 additions & 34 deletions

File tree

src/easydiffraction/experiments/experiment/base.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
from easydiffraction.core.datablock import DatablockItem
1212
from easydiffraction.experiments.categories.data.factory import DataFactory
1313
from easydiffraction.experiments.categories.excluded_regions import ExcludedRegions
14+
from easydiffraction.experiments.categories.extinction import Extinction
15+
from easydiffraction.experiments.categories.instrument.factory import InstrumentFactory
1416
from easydiffraction.experiments.categories.linked_crystal import LinkedCrystal
1517
from easydiffraction.experiments.categories.linked_phases import LinkedPhases
1618
from easydiffraction.experiments.categories.peak.factory import PeakFactory
@@ -108,7 +110,11 @@ def __init__(
108110
super().__init__(name=name, type=type)
109111

110112
self._linked_crystal: LinkedCrystal = LinkedCrystal()
111-
113+
self._extinction: Extinction = Extinction()
114+
self._instrument = InstrumentFactory.create(
115+
scattering_type=self.type.scattering_type.value,
116+
beam_mode=self.type.beam_mode.value,
117+
)
112118
self._data = DataFactory.create(
113119
sample_form=self.type.sample_form.value,
114120
beam_mode=self.type.beam_mode.value,
@@ -130,14 +136,13 @@ def linked_crystal(self):
130136
"""Linked crystal model for this experiment."""
131137
return self._linked_crystal
132138

133-
@linked_crystal.setter
134-
def linked_crystal(self, value):
135-
"""Set the linked crystal model for this experiment.
139+
@property
140+
def extinction(self):
141+
return self._extinction
136142

137-
Args:
138-
value: New linked crystal model.
139-
"""
140-
self._linked_crystal = value
143+
@property
144+
def instrument(self):
145+
return self._instrument
141146

142147
@property
143148
def data(self):

src/easydiffraction/experiments/experiment/bragg_sc.py

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,16 @@
77

88
import numpy as np
99

10-
from easydiffraction.experiments.categories.extinction import Extinction
11-
from easydiffraction.experiments.categories.linked_crystal import LinkedCrystal
1210
from easydiffraction.experiments.experiment.base import ScExperimentBase
1311
from easydiffraction.experiments.experiment.enums import BeamModeEnum
14-
from easydiffraction.experiments.experiment.instrument_mixin import InstrumentMixin
1512
from easydiffraction.utils.logging import console
1613
from easydiffraction.utils.logging import log
1714

1815
if TYPE_CHECKING:
1916
from easydiffraction.experiments.categories.experiment_type import ExperimentType
2017

2118

22-
class BraggScExperiment(
23-
InstrumentMixin,
24-
ScExperimentBase,
25-
):
19+
class BraggScExperiment(ScExperimentBase):
2620
"""Standard (Bragg) Single Crystal experiment class with specific
2721
attributes.
2822
"""
@@ -35,9 +29,6 @@ def __init__(
3529
) -> None:
3630
super().__init__(name=name, type=type)
3731

38-
self._linked_crystal = LinkedCrystal()
39-
self._extinction = Extinction()
40-
4132
def _load_ascii_data_to_experiment(self, data_path: str) -> None:
4233
"""Load measured data from an ASCII file into the data category.
4334
@@ -88,19 +79,3 @@ def _load_ascii_data_to_experiment(self, data_path: str) -> None:
8879

8980
console.paragraph('Data loaded successfully')
9081
console.print(f"Experiment 🔬 '{self.name}'. Number of data points: {len(indices_h)}")
91-
92-
@property
93-
def linked_crystal(self):
94-
return self._linked_crystal
95-
96-
@linked_crystal.setter
97-
def linked_crystal(self, value):
98-
self._linked_crystal = value
99-
100-
@property
101-
def extinction(self):
102-
return self._extinction
103-
104-
@extinction.setter
105-
def extinction(self, value):
106-
self._extinction = value

0 commit comments

Comments
 (0)