Detectors#

The Detector object serves as the primary input for the detection pipeline, functioning as a repository for all data required by the models within the Pipeline. Note: Not all models are compatible with every detector type. To verify compatibility, consult the model table and refer to the Model groups within the comprehensive list of all models provided (see Models). This will ensure that the model you intend to use is suitable for the selected detector type. The detector object traverses through all the encompassing models, represented by model functions. As per the specifications outlined in the YAML configuration file, a single Detector object is instantiated for each exposure.

Detector properties#

The Detector object encompasses all information related to the physical attributes of the simulated detector. These detector properties can be classified into the following categories: Geometry, Characteristics, and Environment, as shown in the image. Time properties and the rows and columns of Geometry are mandatory, as highlighted in the image. These properties are utilized by multiple models within the pipeline and remain constant throughout a pipeline run. Notably, the category of detector properties labeled Material, was temporarily removed in version 1.0 due to its lack of utilization.

detector

Detector data containers#

The detector additionally contains data buckets that store simulated data, including input photon distribution (photons), number of charge carriers generated (carrier type), signal variation [1] in pixels (voltage, phase), and digitised image value (ADU). The data buckets are not initialized before running a pipeline. The models inside the model groups must initialize the data buckets. These data containers undergo modifications by the models within the pipeline, ultimately altering the state of the output detector upon completion of the pipeline. The data structures involved are: Scene, Photon, Charge, Pixel, Signal, Image and Phase class as shown in the image below. Scene is converted to multi-wavelength (photon/nm) or monochromatic (photon) Photon depending which models are used. For a MKID type detector, the Pixel is converted to Image over the Phase container.

The classes are storing the data values either inside a Pandas pandas.DataFrame or in a NumPy numpy.ndarray. Via DataFrame or NumPy array handling functions, models can modify properties of photons, charges, etc., like position, kinetic energy, number of electrons per charge packet, signal amplitude, etc.

detector

Time properties#

As shown in the image, the Detector object also tracks time. There are multiple properties inside the Detector object: time is the time since start_time (which can be different to 0), absolute time is the time since 0, and time_step is the time since last readout. Those properties can be used by the time-sensitive models.

Implemented detector types:#