Celeritas 0.6.0-dev.115+3b60a5fd
|
Physics classes used inside the optical physics loop. More...
Classes | |
class | AbsorptionInteractor |
Sample optical absorption interaction. More... | |
class | AbsorptionModel |
Set up and launch the optical absorption model interaction. More... | |
class | ActionLauncher |
Profile and launch optical stepping loop kernels. More... | |
class | AlongStepAction |
Move a track to the next boundary or interaction. More... | |
class | BoundaryAction |
Move a track across a boundary. More... | |
struct | CherenkovData |
Cherenkov angle integrals tablulated as a function of photon energy. More... | |
class | CherenkovDndxCalculator |
Calculate the mean number of Cherenkov photons produced per unit length. More... | |
class | CherenkovGenerator |
Sample Cherenkov photons from the given distribution. More... | |
class | CherenkovParams |
Build and manage Cherenkov data. More... | |
class | ConditionalTrackSlotExecutor |
Launch the track only when a certain condition applies to the sim state. More... | |
class | CoreParams |
Shared parameters for the optical photon loop. More... | |
struct | CoreParamsData |
Immutable problem data. More... | |
struct | CoreScalars |
Memspace-independent core variables. More... | |
class | CoreState |
Store all state data for a single thread. More... | |
struct | CoreStateData |
Thread-local state data. More... | |
class | CoreStateInterface |
Interface class for optical state data. More... | |
class | CoreTrackView |
Access all core properties of a physics track. More... | |
struct | GeneratorDistributionData |
Input data for sampling optical photons. More... | |
struct | GeneratorStepData |
Pre- and post-step data for sampling optical photons. More... | |
class | ImportedMaterials |
Imported material data for optical models. More... | |
class | ImportedModelAdapter |
An adapter for imported model data corresponding to a specific identifier. More... | |
class | ImportedModels |
A collection of imported optical models. More... | |
class | InitializeTracksAction |
Initialize optical track states. More... | |
struct | Interaction |
The result of a discrete optical interaction. More... | |
class | LocateVacanciesAction |
Find the vacant track slots at the end of the step. More... | |
class | MaterialParams |
Manage properties for optical materials. More... | |
struct | MaterialParamsData |
Shared optical material properties. More... | |
class | MaterialView |
Access optical material properties. More... | |
struct | MatScintSpectrumRecord |
Material-dependent scintillation spectrum. More... | |
class | MfpBuilder |
Helper class for optical models to build MFP tables. More... | |
class | Model |
Base class for discrete, volumetric optical models. More... | |
class | ModelImporter |
Construct Celeritas optical model builders from imported data. More... | |
struct | ParScintSpectrumRecord |
Particle- and material-dependent scintillation spectrum. More... | |
struct | ParticleStateData |
Storage for dynamic particle data. More... | |
class | ParticleTrackView |
Properties of a single optical photon. More... | |
struct | PhysicsParamsData |
struct | PhysicsStateData |
class | PreStepAction |
Set up the beginning of a physics step. More... | |
class | RayleighInteractor |
Sample optical Rayleigh scattering. More... | |
class | RayleighMfpCalculator |
Calculate the Rayleigh MFP for a given set of material properties. More... | |
class | RayleighModel |
Set up and launch the optical Rayleigh scattering model interaction. More... | |
struct | ScintillationData |
Data characterizing the scintillation spectrum for all particles and materials. More... | |
class | ScintillationGenerator |
Sample scintillation photons from optical property data and step data. More... | |
class | ScintillationParams |
Build and manage scintillation data. More... | |
struct | ScintRecord |
Parameterized scintillation properties. More... | |
struct | SimStateData |
Storage for dynamic simulation data. More... | |
class | SimTrackView |
Simulation properties for a single track. More... | |
class | TrackingCutAction |
Kill misbehaving photons and deposit energy locally. More... | |
struct | TrackInitializer |
Optical photon data used to initialize a photon track state. More... | |
class | TrackInitParams |
Manage persistent track initializer data. More... | |
struct | TrackInitParamsData |
Persistent data for optical track initialization. More... | |
struct | TrackInitStateData |
Storage for dynamic data used to initialize new optical photon tracks. More... | |
class | TrackSlotExecutor |
Transform a thread or track slot ID into a core track view. More... | |
struct | WarnAndIgnoreModel |
Warn about a missing optical model and deliberately skip it. More... | |
struct | WavelengthShiftData |
Wavelength shift data. More... | |
class | WavelengthShiftInteractor |
Apply the wavelength shift (WLS) to optical photons. More... | |
class | WavelengthShiftParams |
Build and manage wavelength shift (WLS) data. More... | |
struct | WlsMaterialRecord |
Material dependent scalar property of wavelength shift (WLS). More... | |
Typedefs | |
using | OpticalBeginRunActionInterface = BeginRunActionInterface< CoreParams, CoreState > |
Interface called at beginning of the core stepping loop. | |
using | OpticalStepActionInterface = StepActionInterface< CoreParams, CoreState > |
Action interface for core stepping loop. | |
template<MemSpace M> | |
using | CoreParamsPtr = CRefPtr< CoreParamsData, M > |
template<MemSpace M> | |
using | CoreStatePtr = RefPtr< CoreStateData, M > |
using | CoreMaterialId = ::celeritas::MaterialId |
Alias for MaterialId in core Celeritas namespace. | |
Enumerations | |
enum class | ImportModelClass { absorption , rayleigh , wls , size_ } |
Enumerator for available optical physics models. More... | |
Physics classes used inside the optical physics loop.
Interface classes that integrate with the main Celeritas stepping loop are in the main namespace.
Enumerator for available optical physics models.
This enum is used to identify the optical model that imported model MFP tables correspond to.
void celeritas::optical::launch_action | ( | CoreState< MemSpace::host > & | state, |
F && | execute_thread | ||
) |
Helper function to run an action in parallel on CPU over all states.
Example:
|
inline |
Return a track executor that only applies if the action ID matches.
void celeritas::optical::resize | ( | CoreStateData< Ownership::value, M > * | state, |
HostCRef< CoreParamsData > const & | params, | ||
StreamId | stream_id, | ||
size_type | size | ||
) |
Resize states in host code.
Initialize threads to track slots mapping. Resize core states using parameter data, stream ID, and track slots.
void celeritas::optical::resize | ( | TrackInitStateData< Ownership::value, M > * | data, |
HostCRef< TrackInitParamsData > const & | params, | ||
StreamId | stream, | ||
size_type | size | ||
) |
Resize and initialize data.
Here size
is the number of track states, and the "capacity" is the maximum number of initializers that can be buffered.