Skip to content

Commit 8342f2a

Browse files
committed
Use private _all_arrays to set
1 parent ed9fb03 commit 8342f2a

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

src/diffpy/utils/diffraction_objects.py

+28-17
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,17 @@ def __rtruediv__(self, other):
181181
divided.on_q[1] = other.on_q[1] / self.on_q[1]
182182
return divided
183183

184+
@property
185+
def all_arrays(self):
186+
return self._all_arrays
187+
188+
@all_arrays.setter
189+
def all_arrays(self, value):
190+
raise AttributeError(
191+
"Direct modification of 'all_arrays' is not allowed."
192+
"Please use 'insert_scattering_quantity' to modify it."
193+
)
194+
184195
def set_angles_from_list(self, angles_list):
185196
self.angles = angles_list
186197
self.n_steps = len(angles_list) - 1.0
@@ -259,25 +270,25 @@ def get_angle_index(self, angle):
259270
raise IndexError(f"WARNING: no angle {angle} found in angles list")
260271

261272
def _set_xarrays(self, xarray, xtype):
262-
self.all_arrays = np.empty(shape=(len(xarray), 4))
273+
self._all_arrays = np.empty(shape=(len(xarray), 4))
263274
if xtype.lower() in QQUANTITIES:
264-
self.all_arrays[:, 1] = xarray
265-
self.all_arrays[:, 2] = q_to_tth(xarray, self.wavelength)
266-
self.all_arrays[:, 3] = q_to_d(xarray)
275+
self._all_arrays[:, 1] = xarray
276+
self._all_arrays[:, 2] = q_to_tth(xarray, self.wavelength)
277+
self._all_arrays[:, 3] = q_to_d(xarray)
267278
elif xtype.lower() in ANGLEQUANTITIES:
268-
self.all_arrays[:, 2] = xarray
269-
self.all_arrays[:, 1] = tth_to_q(xarray, self.wavelength)
270-
self.all_arrays[:, 3] = tth_to_d(xarray, self.wavelength)
279+
self._all_arrays[:, 2] = xarray
280+
self._all_arrays[:, 1] = tth_to_q(xarray, self.wavelength)
281+
self._all_arrays[:, 3] = tth_to_d(xarray, self.wavelength)
271282
elif xtype.lower() in DQUANTITIES:
272-
self.all_arrays[:, 3] = xarray
273-
self.all_arrays[:, 1] = d_to_q(xarray)
274-
self.all_arrays[:, 2] = d_to_tth(xarray, self.wavelength)
275-
self.qmin = np.nanmin(self.all_arrays[:, 1], initial=np.inf)
276-
self.qmax = np.nanmax(self.all_arrays[:, 1], initial=0.0)
277-
self.tthmin = np.nanmin(self.all_arrays[:, 2], initial=np.inf)
278-
self.tthmax = np.nanmax(self.all_arrays[:, 2], initial=0.0)
279-
self.dmin = np.nanmin(self.all_arrays[:, 3], initial=np.inf)
280-
self.dmax = np.nanmax(self.all_arrays[:, 3], initial=0.0)
283+
self._all_arrays[:, 3] = xarray
284+
self._all_arrays[:, 1] = d_to_q(xarray)
285+
self._all_arrays[:, 2] = d_to_tth(xarray, self.wavelength)
286+
self.qmin = np.nanmin(self._all_arrays[:, 1], initial=np.inf)
287+
self.qmax = np.nanmax(self._all_arrays[:, 1], initial=0.0)
288+
self.tthmin = np.nanmin(self._all_arrays[:, 2], initial=np.inf)
289+
self.tthmax = np.nanmax(self._all_arrays[:, 2], initial=0.0)
290+
self.dmin = np.nanmin(self._all_arrays[:, 3], initial=np.inf)
291+
self.dmax = np.nanmax(self._all_arrays[:, 3], initial=0.0)
281292

282293
def insert_scattering_quantity(
283294
self,
@@ -309,7 +320,7 @@ def insert_scattering_quantity(
309320
310321
"""
311322
self._set_xarrays(xarray, xtype)
312-
self.all_arrays[:, 0] = yarray
323+
self._all_arrays[:, 0] = yarray
313324
self.input_xtype = xtype
314325
# only update these optional values if non-empty quantities are passed to avoid overwriting
315326
# valid data inadvertently

0 commit comments

Comments
 (0)