Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add function to sample scintillation #59

Merged
merged 2 commits into from
Sep 10, 2024
Merged

add function to sample scintillation #59

merged 2 commits into from
Sep 10, 2024

Conversation

ManuelHu
Copy link
Collaborator

@ManuelHu ManuelHu commented Jul 4, 2024

  1. Include the fano factor in the ScintConfig object, to bundle all properties relating to the amount of photons released
  2. Povide a function utils.scintillate(...) to return an array of timestamps at which scintillation photon emission happens. This is strictly following Geant4's scintillation model

Example usage:

import pint

import legendoptics.lar as lar
import legendoptics.utils as utils


u = pint.get_application_registry()

times = utils.scintillate(
    lar.lar_scintillation_params(),
    lar.lar_lifetimes().as_tuple(),
    "electron",
    1 * u.MeV
)

plotting a histogram of times gives the usual two-component exponential (x-axis is time in nanoseconds):
image

Open discussion points

  • Add a way to interact with scikit-hep/particle for conversion PDG id -> geant scintillation particle name (this is not a simple lookup table...)
  • Geant also includes sampling a time and spatial offset calculation along the path segment (i.e. it assumes the energy deposition is uniform along the path, and not localized at its end). This is not yet implemented here, and would require a much more sophisticated output scheme (including start & end timestamps + coordinates for each segment with energy deposition)

@ManuelHu ManuelHu merged commit e4c7efb into main Sep 10, 2024
12 checks passed
@ManuelHu ManuelHu deleted the scintillation branch September 10, 2024 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant