diff --git a/bilby/gw/detector/strain_data.py b/bilby/gw/detector/strain_data.py index e68083d8490e6bcea6f9f7212f05a15f7546e0e0..3b031238586fe6423d46e82f065a645921183119 100644 --- a/bilby/gw/detector/strain_data.py +++ b/bilby/gw/detector/strain_data.py @@ -41,6 +41,8 @@ class InterferometerStrainData(object): This corresponds to alpha * duration / 2 for scipy tukey window. """ + self.__freq_mask_updated = False + self.minimum_frequency = minimum_frequency self.maximum_frequency = maximum_frequency self.roll_off = roll_off @@ -100,6 +102,7 @@ class InterferometerStrainData(object): @minimum_frequency.setter def minimum_frequency(self, minimum_frequency): self.__minimum_frequency = minimum_frequency + self.__freq_mask_updated = False @property def maximum_frequency(self): @@ -112,6 +115,7 @@ class InterferometerStrainData(object): @maximum_frequency.setter def maximum_frequency(self, maximum_frequency): self.__maximum_frequency = maximum_frequency + self.__freq_mask_updated = False @property def frequency_mask(self): @@ -121,14 +125,12 @@ class InterferometerStrainData(object): ------- array_like: An array of boolean values """ - try: - return self._frequency_mask - except AttributeError: + if not self.__freq_mask_updated: frequency_array = self._times_and_frequencies.frequency_array mask = ((frequency_array >= self.minimum_frequency) & (frequency_array <= self.maximum_frequency)) self._frequency_mask = mask - return self._frequency_mask + return self._frequency_mask @property def alpha(self):