@@ -222,19 +222,18 @@ def get_effective_area(self, observation_time=50 * u.h):
222
222
-------
223
223
`numpy.ndarray`, `numpy.ndarray`
224
224
"""
225
- if observation_time == 50 * u .h :
226
- if self .site in _south_site_names :
227
- energy , effective_area = np .loadtxt (ds .get ('cta_requirements_South-30m-EffectiveArea.dat' ),
228
- unpack = True )
229
- elif self .site in _north_site_names :
230
- energy , effective_area = np .loadtxt (ds .get ('cta_requirements_North-30m-EffectiveArea.dat' ),
231
- unpack = True )
232
- else :
233
- raise ValueError (
234
- f'incorrect site specified, accepted values are { _north_site_names } or { _south_site_names } ' )
235
- else :
225
+ if observation_time != 50 * u .h :
236
226
raise ValueError (f"no effective area for an observation time of { observation_time } " )
237
227
228
+ if self .site in _south_site_names :
229
+ energy , effective_area = np .loadtxt (ds .get ('cta_requirements_South-30m-EffectiveArea.dat' ),
230
+ unpack = True )
231
+ elif self .site in _north_site_names :
232
+ energy , effective_area = np .loadtxt (ds .get ('cta_requirements_North-30m-EffectiveArea.dat' ),
233
+ unpack = True )
234
+ else :
235
+ raise ValueError (
236
+ f'incorrect site specified, accepted values are { _north_site_names } or { _south_site_names } ' )
238
237
self .energy = energy * u .TeV
239
238
self .effective_area = effective_area * u .m
240
239
return self .energy , self .effective_area
@@ -264,16 +263,15 @@ def get_energy_resolution(self):
264
263
265
264
@u .quantity_input (observation_time = u .h )
266
265
def get_sensitivity (self , observation_time = 50 * u .h ):
267
- if observation_time == 50 * u .h :
268
- if self .site in _south_site_names :
269
- energy , sensitivity = np .loadtxt (ds .get ('cta_requirements_South-50h.dat' ), unpack = True )
270
- elif self .site in _north_site_names :
271
- energy , sensitivity = np .loadtxt (ds .get ('cta_requirements_North-50h.dat' ), unpack = True )
272
- else :
273
- raise ValueError (
274
- f'incorrect site specified, accepted values are { _north_site_names } or { _south_site_names } ' )
275
- else :
266
+ if observation_time != 50 * u .h :
276
267
raise ValueError (f"no sensitivity for an observation time of { observation_time } " )
268
+ if self .site in _south_site_names :
269
+ energy , sensitivity = np .loadtxt (ds .get ('cta_requirements_South-50h.dat' ), unpack = True )
270
+ elif self .site in _north_site_names :
271
+ energy , sensitivity = np .loadtxt (ds .get ('cta_requirements_North-50h.dat' ), unpack = True )
272
+ else :
273
+ raise ValueError (
274
+ f'incorrect site specified, accepted values are { _north_site_names } or { _south_site_names } ' )
277
275
self .energy = energy * u .TeV
278
276
self .sensitivity = sensitivity * u .erg / (u .cm ** 2 * u .s )
279
277
return self .energy , self .sensitivity
@@ -933,13 +931,12 @@ def _percentile(x, percentile=68.27):
933
931
-------
934
932
float
935
933
"""
936
- if len (x ) == 0 :
937
- if isinstance (x , u .Quantity ):
938
- return 0 * x .unit
939
- else :
940
- return 0
941
- else :
934
+ if len (x ) != 0 :
942
935
return np .percentile (x , percentile )
936
+ if isinstance (x , u .Quantity ):
937
+ return 0 * x .unit
938
+ else :
939
+ return 0
943
940
944
941
945
942
@u .quantity_input (alt1 = u .rad , az1 = u .rad , alt2 = u .rad , az2 = u .rad )
@@ -966,9 +963,7 @@ def angular_separation_altaz(alt1, az1, alt2, az2):
966
963
cosdelta [cosdelta > 1 ] = 1.
967
964
cosdelta [cosdelta < - 1 ] = - 1.
968
965
969
- ang_sep = np .arccos (cosdelta ) * u .rad
970
-
971
- return ang_sep
966
+ return np .arccos (cosdelta ) * u .rad
972
967
973
968
974
969
def logbin_mean (x_bin ):
0 commit comments