Skip to main content

scintiPulses

Project description

scintiPulses

Overview

The scintiPulses.py package simulates pulse signal from a scintillation detector. It implements a quantum illumination function and is parameterized by various parameters to customize the simulation. The quantum illumination function accounts for shot noise induced by the inhomogeneous Poisson process of fluorescence [1]. Thanks to its faithful description of the scintillation signal, scintiPulse.py can be used to train AI models.

[1] https://doi.org/10.1109/NSSMIC.2017.8533083

Parameters

  • enerVec (list): Vector of deposited energies in keV.
  • timeFrame (float, optional): Duration of the signal frame in seconds. Default is 1e-4.
  • samplingRate (float, optional): Sampling rate in samples per second. Default is 500 MS/s.
  • tau (float, optional): Decay period of the fluorescence in seconds. Default is 100e-9.
  • tau2 (float, optional): Decay period of the delayed fluorescence in seconds. Default is 2000e-9.
  • pdelayed (float, optional): Ratio of energy converted in delayed fluorescence. Default is 0.
  • ICR (float, optional): Input count rate in s⁻¹. Default is 1e5.
  • L (float, optional): Scintillation light yield in keV⁻¹. Default is 1.
  • se_pulseCharge (float, optional): Charge of a single photoelectron in Vs. Default is 1.
  • pulseSpread (float, optional): Spreading of single photoelectron charges. Default is 0.1.
  • voltageBaseline (float, optional): Baseline voltage (offset) in V. Default is 0.
  • pulseWidth (float, optional): Pulse width of single electron in seconds. Default is 1e-9.
  • thermalNoise (boolean, optional): Add Gaussian white noise. Default is False.
  • sigmathermalNoise (float, optional): Amplitude of the Gaussian white noise (standard deviation). Default is 0.01.
  • antiAliasing (boolean, optional): Add a low-pass filter for anti-aliasing. Default is False.
  • bandwidth (float, optional): Cutoff frequency of the anti-aliasing filter in Hz. Default is 2e8.
  • quantiz (boolean, optional): Add quantization noise. Default is False.
  • coding_resolution_bits (int, optional): Resolution of voltage encoding in bits. Default is 14.
  • full_scale_range (float, optional): Voltage dynamic range of the electronics (+/-). Default is 2.
  • thermonionic (boolean, optional): Activate thermionic noise from PMT. Default is False.
  • thermooinicPeriod (float, optional): Time period of the thermionic noise in seconds. Default is 1e-4.
  • pream (boolean, optional): Activate signal filtering through the RC filter of a preamplifier. Default is False.
  • tauPream (float, optional): Time period of the preamplifier in seconds. Default is 10e-6.
  • ampli (boolean, optional): Activate signal filtering through the CR filter of a fast amplifier. Default is False.
  • tauAmp (float, optional): Time period of the fast amplifier in seconds. Default is 2e-6.
  • CRorder (float, optional): Order of the CR filter of the fast amplifier. Default is 1.
  • returnPulse (boolean, optional): Return a single pulse for observation. Default is False.

Returns

  • t (list): Time vector in seconds.
  • v (list): Simulated scintillation signal in volts.
  • IllumFCT (list): Illumination function in volts.
  • Y (list): Dirac brush with the number of photoelectrons per pulse.

Example Usage

enerVec = [10, 20, 30]  # Example energy vector in keV
timeFrame = 1e-4  # Duration of the signal frame in seconds
samplingRate = 500e6  # Sampling rate in samples per second

t, v, IllumFCT, quantumIllumFCT, quantumIllumFCTdark, Y = scintiPulses(enerVec, timeFrame, samplingRate)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scintipulses-1.9.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

scintiPulses-1.9-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file scintipulses-1.9.tar.gz.

File metadata

  • Download URL: scintipulses-1.9.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for scintipulses-1.9.tar.gz
Algorithm Hash digest
SHA256 e79cd3de1b26bb44a521ff52df73f9ef082f500310ba85bd09fe7b6f1a4aa8df
MD5 edc25ba00f36bd66aa0845e19a912ade
BLAKE2b-256 a816847f8ad11651419e0700cdc0315c7bd0e646bd41daaf9e6afa6f25c82682

See more details on using hashes here.

File details

Details for the file scintiPulses-1.9-py3-none-any.whl.

File metadata

  • Download URL: scintiPulses-1.9-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for scintiPulses-1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff7629342f8e636536673a472949219f334884b5dd5aa6dff04fdf09c713011
MD5 99a830a95bbb973c023dc775a78a17b5
BLAKE2b-256 665f20a2945170fce83924190274c9b3b86ffd4eca4a7590cba6cb27691d817c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page