MID Implementation

Note

The MID Calculator is in the process of being refactored into a more functional style, similar to LOW. This diagram reflects the current state, but in the end we expect the calculator.py modules to be more functional and rely less on object instantation and state mutation, and the utilities classes to be structured differently.

_images/backend_uml.png

Figure 4 . Class diagram of the Sensitivity Calculator back-end.

The class MidCalculator has 2 public methods: calculate_sensitivity to get the array sensitivity in Jy for the given integration time, and calculate_integration_time to get the integration time required for the given sensitivity.

The MidCalculator constructor has a number of required parameters that define the observing configuration, target and weather. The rest default to None, in which case their values will be calculated automatically. The automatic values can be overriden by setting them here.

All parameters, internal variables and results that describe ‘physical’ measures are implemented as astropy Quantities to prevent mixups over units.