Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 contents
OpticalModel
: this is the base class for optical physicsOpticalProcess
: this is the base class for optical processes. Optical models are uniquely identified with optical processes, so theOpticalProcessImpl
template is a helper to define processes from static methods in optical models.ImportOpticalProcess
: likeImportProcess
but only has lambda physics tables for imported dataImportOpticalProcesses
: builds and storesImportOpticalProcess
es from rawImportData
ImportedOpticalProcessAdapter
: adapter class used byOpticalProcess
to create step limiter grids.OpticalPhysics.hh
: contains structs of data, indices, and grids used by optical processesOpticalPhysicsParams
: register optical model actions in the action registry and builds grid data inOpticalPhysics.hh
on both host and device.GenericGridInserter
: helper class to build and insert grids into a collection on hostAbsorptionModel
: A sample optical model using this frameworkTodo
OpticalProcessBuilder
OpticalCoreData
etc.ImportProcessClass
?