|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
Construct Celeritas EM processes from imported data. More...
#include <ProcessBuilder.hh>
Public Types | |
Type aliases | |
| using | IPC = ImportProcessClass |
| using | SPProcess = std::shared_ptr< Process > |
| using | SPConstParticle = std::shared_ptr< ParticleParams const > |
| using | SPConstMaterial = std::shared_ptr< MaterialParams const > |
| using | SPConstImported = std::shared_ptr< ImportedProcesses const > |
User builder type aliases | |
| using | UserBuildInput = inp::ProcessBuilderInput |
| using | UserBuildFunction = inp::ProcessBuilderFunction |
| using | UserBuildMap = inp::ProcessBuilderMap |
Public Member Functions | |
| ProcessBuilder (ImportData const &data, SPConstParticle particle, SPConstMaterial material, UserBuildMap user_build) | |
| Construct imported process data. | |
| ProcessBuilder (ImportData const &data, SPConstParticle particle, SPConstMaterial material) | |
| Construct without custom user builders. | |
| ~ProcessBuilder () | |
| Default destructor. | |
| SPProcess | operator() (IPC ipc) |
Construct a Process from a given process class. | |
Static Public Member Functions | |
| static std::set< IPC > | get_all_process_classes (std::vector< ImportProcess > const &processes) |
| Get an ordered set of all available processes. | |
Construct Celeritas EM processes from imported data.
This factory class has a hardcoded map that takes a ImportProcessClass and constructs a built-in EM process (which will then build corresponding models). This map can be overridden or extended by the user_build constructor argument, which is a mapping of process class to user-supplied factory functions.
The function can return a null process pointer (in which case the caller must ignore it) to indicate that a process should be deliberately omitted from Celeritas. This can be used to (for example) skip very-high-energy processes if Celeritas offloads only tracks below some energy cutoff. See WarnAndIgnoreProcess below for a helper function for this purpose.
celeritas::inp volume physics input to construct processes. | celeritas::ProcessBuilder::ProcessBuilder | ( | ImportData const & | data, |
| SPConstParticle | particle, | ||
| SPConstMaterial | material, | ||
| UserBuildMap | user_build | ||
| ) |
Construct imported process data.
Construct a Process from a given process class.
This may return a null process (with a warning) if the user specifically requests that the process be omitted.