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 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.

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.