Welcome to legend-geom-optics’s documentation!¶
This package contains a collection of optical properties of materials used in the LEGEND experiment.
As a common interface, each optical property gets its own defining function in the material’s module. Those functions can be used directly to just retrieve the value(s) of the property. Most property definitions contain unit information via the pint
package. For a full list of defined properties see the API reference.
To ease the use in Geant4-based simulations, every module defines one or more functions prefixed with pyg4_attach_
. Those functions are to be used with pyg4ometry and will attach the listed properties to a material or surface instance.
Table of Contents¶
Usage example¶
This example demonstrates how to use the legendoptics.lar
submodule to add important optical properties to a pyg4ometry module instance:
import legendoptics.lar
import pint
import pyg4ometry.geant4 as g4
g4_registry = g4.Registry()
_liquidargon = g4.Material(
name="LiquidArgon",
state="liquid",
# [...]
registry=g4_registry,
)
u = pint.get_application_registry().get()
legendoptics.lar.pyg4_lar_attach_rindex(
_liquidargon,
g4_registry,
)
legendoptics.lar.pyg4_lar_attach_attenuation(
_liquidargon,
g4_registry,
)
legendoptics.lar.pyg4_lar_attach_scintillation(
_liquidargon,
g4_registry,
triplet_lifetime_method="legend200-llama",
)
Each property can be used separately:
import legendoptics.lar
lifetimes = legendoptics.lar.lar_lifetimes(triplet_lifetime_method="legend200-llama")
print(lifetimes.triplet)