Celeritas 0.6.0-dev.115+3b60a5fd
|
Construct a Celeritas tracking manager that offloads EM tracks. More...
#include <TrackingManagerConstructor.hh>
Public Types | |
Type aliases | |
using | LocalTransporterFromThread = std::function< LocalTransporter *(int)> |
Public Member Functions | |
TrackingManagerConstructor (SharedParams const *shared, LocalTransporterFromThread get_local) | |
Construct name and mode. | |
TrackingManagerConstructor (TrackingManagerIntegration *tmi) | |
Construct from tracking manager integration. | |
void | ConstructParticle () override |
Null-op: particles are constructed elsewhere. | |
void | ConstructProcess () override |
Build and attach tracking manager. | |
SharedParams const * | shared_params () const |
Get the shared params associated with this TM. | |
LocalTransporter * | get_local_transporter () const |
Get the local transporter associated with the current thread ID. | |
Static Public Member Functions | |
static Span< G4ParticleDefinition *const > | OffloadParticles () |
Get a list of supported particles that will be offloaded. | |
Construct a Celeritas tracking manager that offloads EM tracks.
This should be composed with your physics list after it is constructed, before the simulation begins.
For simpler integration, use celeritas::TrackingManagerIntegration:
The second argument is a function to get a reference to the thread-local LocalTransporter
from the Geant4 thread ID.
If Celeritas is globally disabled, it will not add the track manager.
celeritas::TrackingManagerConstructor::TrackingManagerConstructor | ( | SharedParams const * | shared, |
LocalTransporterFromThread | get_local | ||
) |
Construct name and mode.
Error checking is deferred until ConstructProcess.
|
explicit |
Construct from tracking manager integration.
Since there's only ever one tracking manager integration, we can just use the behind-the-hood objects.