|
Celeritas 0.7.0-dev.194+develop.0df4cab59
|
Optical physics data for a track. More...
#include <PhysicsTrackView.hh>
Classes | |
| struct | Initializer |
| Data for initializing a physics track. More... | |
Public Types | |
Type aliases | |
| using | PhysicsParamsRef = NativeCRef< PhysicsParamsData > |
| using | PhysicsStateRef = NativeRef< PhysicsStateData > |
| using | Energy = units::MevEnergy |
Public Member Functions | |
| CELER_FUNCTION | PhysicsTrackView (PhysicsParamsRef const &, PhysicsStateRef const &, OptMatId, TrackSlotId) |
| Construct from params, state, and material ID for a given track. | |
| CELER_FUNCTION PhysicsTrackView & | operator= (Initializer const &) |
| Initialize the physics for the given track. | |
| CELER_FUNCTION void | reset_interaction_mfp () |
| Reset the currently calculated interaction MFP. | |
| CELER_FUNCTION void | interaction_mfp (real_type) |
| Retrieve the interaction mean free path. | |
| CELER_FUNCTION real_type | interaction_mfp () const |
| Retrieve the interaction mean free path. | |
| CELER_FUNCTION bool | has_interaction_mfp () const |
| Whether there's a calculated interaction MFP. | |
| CELER_FUNCTION real_type | calc_xs (ModelId, Energy) const |
| Calculate the macroscopic cross section for the given model. | |
| CELER_FUNCTION void | macro_xs (real_type xs) |
| Set total cross section for this step. | |
| CELER_FUNCTION real_type | macro_xs () const |
| Retrieve total cross section for this step. | |
| CELER_FUNCTION ModelId::size_type | num_models () const |
| Retrieve the number of optical models. | |
| CELER_FUNCTION ActionId | model_to_action (ModelId) const |
| Convert a model ID to an action ID. | |
| CELER_FUNCTION ModelId | action_to_model (ActionId) const |
| Convert an action ID to a model ID. | |
| CELER_FUNCTION ActionId | discrete_action () const |
| Get the action ID for the discrete action. | |
Optical physics data for a track.
The physics track data provides an interface for data and operations common to most optical models.
|
inline |
Calculate the macroscopic cross section for the given model.
The mean free path is interpolated linearly on the model's energy grid using NonuniformGridCalculator, and the result is the macroscopic cross section.