|
Celeritas 0.7.0-33+develop.9c828abdd
|
Store optical WLS generation states in aux data. More...
#include <WavelengthShiftData.hh>

Public Member Functions | |
| operator bool () const | |
| True if states have been allocated. | |
| void | reset (StreamId) final |
| Accumulate distributions from the final step and discard all pending work. | |
Public Member Functions inherited from celeritas::GeneratorStateBase | |
| virtual void | sync_counters () |
| Update the host counters from the counters in the state's memory. | |
| virtual void | clear_generated () |
| Clear the generated count at the start of a transport loop. | |
| virtual void | reset_counters () |
| Discard the current counters after the loop aborted early. | |
Public Member Functions inherited from celeritas::AuxStateInterface | |
| virtual | ~AuxStateInterface () |
| Default destructor. | |
Public Attributes | |
| StateDataStore< WlsGeneratorStateData, M > | store |
Public Attributes inherited from celeritas::optical::WlsGeneratorStateBase | |
| size_type | size {} |
| Number of track slots (or, possible new distributions created per step) | |
Public Attributes inherited from celeritas::GeneratorStateBase | |
| GeneratorCounters< size_type > | counters |
| Counts since the start of the optical loop (host copy) | |
| GeneratorCounters< std::size_t > | accum |
| Counts accumulated over the event for diagnostics. | |
Additional Inherited Members | |
Public Types inherited from celeritas::AuxStateInterface | |
| using | SPState = std::shared_ptr< AuxStateInterface > |
| Default destructor. | |
Protected Member Functions inherited from celeritas::AuxStateInterface | |
| AuxStateInterface ()=default | |
| AuxStateInterface (AuxStateInterface const &)=default | |
| Default destructor. | |
| AuxStateInterface & | operator= (AuxStateInterface const &)=default |
| Default destructor. | |
| AuxStateInterface (AuxStateInterface &&)=default | |
| Default destructor. | |
| AuxStateInterface & | operator= (AuxStateInterface &&)=default |
| Default destructor. | |
Store optical WLS generation states in aux data.
|
finalvirtual |
Accumulate distributions from the final step and discard all pending work.
WLS interactions update the core pending count immediately, but their distributions are normally accumulated at the next generation step. After counting them, the entire buffer is cleared so that the leftover distributions aren't generated in the next transport loop.
This synchronizes the stream but is only called when the transport loop aborts.
Implements celeritas::optical::WlsGeneratorStateBase.