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.6.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

scintiPulses-1.6-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scintipulses-1.6.tar.gz
Algorithm Hash digest
SHA256 e303daa306da38603945d31bec8d66f3f6c01b4f6c6ec3e37686031ec1828ab2
MD5 b774a50a2f7e1e3bdb1b0d3b08a322ba
BLAKE2b-256 58fbca03a192d887a4fb29ac7b2115b3d31c77352eb81e0a79d43d06cc47489f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for scintiPulses-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 24c92877926664f2de3fa8bcef02c2de6b78e46bf77227d4d40218d5400b05f5
MD5 5eb9225ef125ac2a0cc402a9280fb6b8
BLAKE2b-256 09493d3e46bbfeb6c53d9d9df7ed2cf1c85a7e5308a41340dc80e771925a437c

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