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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: scintipulses-1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 d7e6ef7451b2d3c7a3928ac8261bfbc57532e77ae354312b3a5ac9a43f4292f2
MD5 ca2276afb1ce9ae649957e92fdf719f1
BLAKE2b-256 e946e78cdf6461c5593d0476032281b914355ec0fbce4c3b6535117ea2665b64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scintiPulses-1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bc690db88e87d870b46def3686d96339e4d8520f28f1b9bf2237ab7b60ba438f
MD5 9fd68fe96145ac0ecb004a4c1556403a
BLAKE2b-256 6e6dad7081e3ae456d69712f51dca4ec3333802d2ae649febf99639b7df7f995

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