Phasing models#
Phasing models deal with the photo-generated phase pulses in the input probe signal of an MKID-array; i.e. with a
Phase
array, inside the Detector
object. Essentially,
the starting point of each phase pulse indicates the arrival time of the photon that generated it—assuming that the
pulse itself does not overlap with other pulses. Moreover, the height of the pulse provides information about the
photon’s energy—actually, fitting the pulse’s profile is a more robust approximation. The initial
Phase
array builds upon a Charge
array tailored for
superconducting photo-detectors—once their underlying physics is fully implemented.
More information can be found on the website [5].
Create and Store a detector#
The models Save detector and Load detector
can be used respectively to create and to store a Detector
to/from a file.
These models can be used when you want to store or to inject a Detector
into the current Pipeline.
Save detector#
This model saves the current Detector
into a file.
Accepted file formats are .h5
, .hdf5
, .hdf
and .asdf
.
- name: save_detector
func: pyxel.models.save_detector
enabled: true
arguments:
filename: my_detector.h5
- pyxel.models.save_detector(detector, filename)[source]
Save the current detector into a file.
Load detector#
This model loads a Detector
from a file and injects it in the current pipeline.
Accepted file formats are .h5
, .hdf5
, .hdf
and .asdf
.
- name: load_detector
func: pyxel.models.load_detector
enabled: true
arguments:
filename: my_detector.h5
Pulse processing#
Note
This model is specific for the MKID detector.
Charge → Phase
This model only applies to the MKID
detector.
When a photon impinges upon an MKID, it generates a phase pulse in its input probe signal, on top of the background phase-height noise (from two-level-system states and amplifier noise). Each MKID has a phase-height responsivity \(r = \frac{\lambda}{\phi}\); where \(\lambda\) is the wavelength associated with the photons under study and \(\phi\) is the mean phase height.
This model is derived from [19]; more information can be found on the website [5].
Example of YAML configuration model:
- name: pulse_processing
func: pyxel.models.phasing.pulse_processing
enabled: true
arguments:
wavelength:
responsivity:
scaling_factor: 2.5e2
- pyxel.models.phasing.pulse_processing(detector, wavelength, responsivity, scaling_factor=250.0, t_c=1.26, eta_pb=0.59, f=0.2)[source]#
Phase-pulse processor.
This model is derived from [19]; more information can be found on the website [5].
- Parameters:
wavelength (
float
) – Wavelength. Unit: um.responsivity (
float
) – Responsivity of the pixel.scaling_factor (
float
) – Scaling factor taking into account the missing pieces of superconducting physics, as well as the resonator quality factor, the bias power, the quasi-particle losses, etc.t_c (
float [used also in /pyxel/models/readout_electronics/dead_time.py]
) – Material dependent critical temperature. Unit: Keta_pb (
float
) – Superconducting pair-breaking efficiency.f (
float
) – Fano’s factor.