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

Uploaded Source

Built Distribution

scintiPulses-1.8-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scintipulses-1.8.tar.gz
Algorithm Hash digest
SHA256 810bc8ff956ddedb67721c658941e626f66a90a0d30e0d5db9f3f223af183f70
MD5 56455c8b2d28311f44922d6fee66dd2c
BLAKE2b-256 b6adccf67cba4a1ee63a61bac3feb47767b3cebf3eb492fc4dac6b7a77d0a52f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scintiPulses-1.8-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 bdb5b7152b777490394a6901cbaf4a7e581acf997ca1ded5d18b35e514092959
MD5 24b5d599ebd661af8c777ad67d3453b4
BLAKE2b-256 ae9120477f11519168c3028094ed0148da94f0f47678ef2b849c69bc18f17533

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