|
Celeritas 0.7.0-dev.207+develop.58f3b23a7
|
Construct and manage portable dynamic data. More...
#include <AuxParams.hh>

Public Types | |
Type aliases | |
| template<MemSpace M> | |
| using | StateRefT = S< Ownership::reference, M > |
Public Types inherited from celeritas::AuxParamsInterface | |
| using | UPState = std::unique_ptr< AuxStateInterface > |
| Default destructor. | |
Public Types inherited from celeritas::ParamsDataInterface< P > | |
| using | HostRef = HostCRef< P > |
| using | DeviceRef = DeviceCRef< P > |
Public Member Functions | |
| UPState | create_state (MemSpace, StreamId, size_type size) const final |
| Build a multithread state for a stream. | |
| template<MemSpace M> | |
| StateRefT< M > const & | state_ref (AuxStateVec const &v) const |
| template<MemSpace M> | |
| StateRefT< M > & | state_ref (AuxStateVec &v) const |
| template<MemSpace M> | |
| auto | state_ref (AuxStateVec const &v) const -> StateRefT< M > const & |
| Access the state ref (const). | |
| template<MemSpace M> | |
| auto | state_ref (AuxStateVec &v) const -> StateRefT< M > & |
| Access the state ref (mutable). | |
Public Member Functions inherited from celeritas::AuxParamsInterface | |
| virtual | ~AuxParamsInterface () |
| Default destructor. | |
| virtual AuxId | aux_id () const =0 |
| Index of this class instance in its registry. | |
| virtual std::string_view | label () const =0 |
| Label for the auxiliary data. | |
Public Member Functions inherited from celeritas::ParamsDataInterface< P > | |
| virtual HostRef const & | host_ref () const =0 |
| Reference CPU geometry data. | |
| virtual DeviceRef const & | device_ref () const =0 |
| Reference managed GPU geometry data. | |
| template<MemSpace M> | |
| P< Ownership::const_reference, M > const & | ref () const |
| template<MemSpace M> | |
| P< Ownership::const_reference, M > const & | ref () const |
| Dispatch a "ref" call to host or device data. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::AuxParamsInterface | |
| AuxParamsInterface ()=default | |
| CELER_DEFAULT_COPY_MOVE (AuxParamsInterface) | |
| Default destructor. | |
Protected Member Functions inherited from celeritas::ParamsDataInterface< P > | |
| CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Construct and manage portable dynamic data.
| P | Params collection group |
| S | State collection group |
This generalization of the Celeritas data model (api_data_model in user manual) manages some of the boilerplate code for the common use case of having portable "params" data (e.g., model data) and "state" data (e.g., temporary values used across multiple kernels or processed into user space). Each state/stream will have an instance of AuxState accessible by this class. An instance of this class can be shared among multiple actions, or an action could inherit from it.
StepParams inherits from this class to provide access to host and state data. The execution inside StepGatherAction provides views to both the params and state data classes: AuxStateInterface and AuxParamsInterface .