ecpi.common.instru.model_geom module

Section author: ECLAIRs GP team

Geometric description of the X-ray instrument

Summary

Classes:

InstruECLAIRs

Implementation of the ECLAIRs mask geometry in ECL_Los referential

InstruXMultiMask

To manage multiple mask for X-ray instrument

InstruXbase

Base class for X-ray instrument mask convention : 1 for hole, 0 stop photon

Class diagram:

Reference

class InstruECLAIRs(p_file_mask=None, p_nb_pix=None)[source]

Bases: ecpi.common.instru.model_geom.InstruXMultiMask

Implementation of the ECLAIRs mask geometry in ECL_Los referential

get_full_surface_mask()[source]

in cm2

get_half_fov()[source]

return in deg diagonal the half of field of view of ECLAIRs instrument

plot_eclairs_on_axis(a_pos, p_title='')[source]
plot_raw_mask()[source]
class InstruXMultiMask(p_detec: ecpi.common.num.array_square_cell.ArraySquareCell, p_dist_mask_detec)[source]

Bases: ecpi.common.instru.model_geom.InstruXbase

To manage multiple mask for X-ray instrument

add_mask(p_mask: ecpi.common.num.array_square_cell.ArraySquareCell, p_name=None)[source]
get_full_surface_mask()[source]

in cm2

get_mask_name(p_name)[source]
get_open_surface_mask()[source]

in cm2

get_surface_rect_proj_allmasks()[source]

compute the surface on the detector of the projection of the masks (the coded detector surface). It is source dependent

Returns

coded detector surface in cm2

Return type

float

plot_mask(mes='mask')[source]
plot_submasks()[source]
select_mask(p_idx)[source]
set_mask(p_mask)[source]
class InstruXbase(p_mask: ecpi.common.num.array_square_cell.ArraySquareCell, p_detec: ecpi.common.num.array_square_cell.ArraySquareCell, p_dist_mask_detec)[source]

Bases: object

Base class for X-ray instrument mask convention : 1 for hole, 0 stop photon

elevdir_to_skypix(elev, direction)[source]

convert elevation/direction coordinates into sky pixels coordinates

(0,0) is at the center of the sky array

Parameters
  • elev (float or array(float)) – elevation in degrees

  • direction (float or array(float)) – direction in degrees

Returns

pixels y,z coordinates

Return type

float, float or array2D(float)

get_elevation_limit_fov_corner()[source]

for special case where mask and detector are square and with the same center return deg

get_elevation_limit_fov_side()[source]

for special case where mask and detector are square and with the same center return deg

get_full_surface_mask()[source]

in cm2

get_open_surface_mask()[source]

in cm2

get_percent_open_mask()[source]
get_surface_rect_proj()[source]

compute intersection detector and shadow mask then compute its surface

Returns

intersection surface in cm2

Return type

float

print_total_count()[source]
set_pos_source_fov(elevation, direction)[source]

set definition of the translation vector linked to the source vec_trans_source is also position on mask where photon passed to go on origin

skypix_to_elevdir(pix_y, pix_z)[source]

convert pixel coordinates into elevation and direction

(0,0) is at the center of the sky array.

elevation from 0 to 90. direction from -180 to +180

Parameters
  • pix_y (float) – y coordinate of the source, in pixels.

  • pix_z (float) – z coordinates of the source, in pixels.

Returns

elevation and direction of the source in deg

Return type

float, float