ECLAIRsDetectorEffectDefault

class ECLAIRsDetectorEffectDefault[source]

Bases: object

Constructor

Read ARF, IRF, RMF and return values/products or processing expected by ECPI

Warning

2015 version with old mask so IRF isn’t up-to-date, ARF is in approximative percent format

Attributes Summary

chan_boundary
chan_center
chan_step

Methods Summary

arf_percent()
chan_nb()
get_irf_array_ijecpi() Return raw IRF array from EIC
get_irf_val_ecllos(y_pix, z_pix[, channel, …]) Return IRF value at position with ECLLos referential in pixel unit
get_list_rv_rmf() return a list of generator object for each channel
get_rmf_max_channel_def(channel) return channel where rmf becomes and stay to zero
get_rmf_norm(channel) Normalize rmf distribution
get_rmf_raw(channel)
return:rmf of channel as readed in EIC file
plot_irf([p_mes])
reduce_channel(nb_chan)
simu_rmf_channel(channel, nb_photon) Compute RMF for only one channel

Attributes Documentation

chan_boundary
chan_center
chan_step

Methods Documentation

arf_percent()[source]
chan_nb()[source]
get_irf_array_ijecpi()[source]

Return raw IRF array from EIC

Returns:raw IRF array, ie IRF value for pixel center in array 199x199
Return type:2D numpy array 199x199
get_irf_val_ecllos(y_pix, z_pix, channel=None, ngp=False, verbose=False)[source]

Return IRF value at position with ECLLos referential in pixel unit

Warning

problem with border with array 199x199 ? Need to extrapolate ?

Parameters:y_pix (float) – y position in ECLLos referential in pixel unit

:param z_pix:z position in ECLLos referential in pixel unit :type z_pix: float :param channel: Energy channel index in EIC convention. Default is None. :type channel: int :param ngp: flag to opt for the Nearest Grid Position algorithm. Default is False. :type ngp: bool :param verbose: flag to enable/disable printing of the IRF coeff value. Default is False. :type verbose: bool :return: value of IRF at (y_pix, z_pix) :rtype: float

get_list_rv_rmf()[source]

return a list of generator object for each channel

Returns:list of generator object for each channel
Return type:generator object is an instance of scipy.stats.rv_discrete
get_rmf_max_channel_def(channel)[source]

return channel where rmf becomes and stay to zero :return: index of first zero on distribution :rtype: int

get_rmf_norm(channel)[source]

Normalize rmf distribution :return: rmf normalize :rtype: numpy array

get_rmf_raw(channel)[source]
Returns:rmf of channel as readed in EIC file
Return type:numpy array
plot_irf(p_mes='')[source]
reduce_channel(nb_chan)[source]
simu_rmf_channel(channel, nb_photon)[source]

Compute RMF for only one channel

Parameters:
  • channel (int) – [0..nb channel[
  • nb_photon (int) – number of incident photon in channel
Returns:

channel number where incident photon was detected

Return type:

numpy array with size nb_photon