Hayden Hollenbeck
Hayden Hollenbeck
NB: This code isn't meant to be integrated yet, but rather serve as a reference point and discussion forum for how optical are going to be implemented. ## Overview of...
Add optical absorption and Rayleigh interactors and respective tests to be able to do initial testing of optical models. Also includes an optical `Interaction` class for the results of discrete...
This is an initial implementation of optical models and their associated data structures. General overview: - `OpticalModel`: acts like both a process (building cross sections / mean free paths) and...
The base optical `Model` class with `AbsorptionModel` as an example case. `ImportedModels` is a list of `ImportOpticalModel`s with a map for built-in model classes to their imported identifier, and can...
In Geant there are two WLS models which are identical copies of each other. They reflect possibly different WLS properties of a given molecule, or multiple types of WLS molecules...
While working on implementing optical boundary crossing, I've encountered some failing tests for the optical `PrimaryGenerator` based on vecgeom + g4 versus orange + geant4. The vecgeom builds have slightly...
When implementing a trivial boundary crossing, the step counters in `optical::PrimaryGenerator` tests fail based on the build configuration. Vecgeom + g4 for versions above 11.0 will have slightly less steps...
Adds support for built-in roughness models: polished, uniform smear, and Gaussian roughness. The `BuiltinSurfaceModelBuilder` builds surface models from supported input data in the form of `std::map`. For reflectivity and interaction...
Optical surface physics requires getting the surface normal from the geometry implementation. Currently there's a working surface normal implementation in ORANGE but we should also add one to VecGeom (the...