allpix::GenericPropagationModule
Module: Modules
Generic module for Runge-Kutta propagation of charge deposits in the sensitive device. More…
#include <GenericPropagationModule.hpp>
Inherits from allpix::Module
Public Functions
Name | |
---|---|
GenericPropagationModule(Configuration & config, Messenger * messenger, std::shared_ptr< Detector > detector) Constructor for this detector-specific module. |
|
virtual void | initialize() override Initialize the module and check field configuration. |
virtual void | run(Event * event) override Propagate all deposited charges through the sensor. |
virtual void | finalize() override Write statistical summary. |
Additional inherited members
Public Functions inherited from allpix::Module
Name | |
---|---|
Module(const Module & ) =delete Copying a module is not allowed. |
|
Module & | operator=(const Module & ) =delete Copying a module is not allowed. |
Module(Module && ) =delete Disallow move behaviour (not possible with references) |
|
Module & | operator=(Module && ) =delete Disallow move behaviour (not possible with references) |
Module(Configuration & config) Base constructor for unique modules. |
|
Module(Configuration & config, std::shared_ptr< Detector > detector) Base constructor for detector modules. |
|
virtual | ~Module() Essential virtual destructor. |
std::shared_ptr< Detector > | getDetector() const Get the detector linked to this module. |
std::string | getUniqueName() const Get the unique name of this module. |
std::string | createOutputFile(const std::string & pathname, const std::string & extension ="", bool global =false, bool delete_file =false) Create and return an absolute path to be used for output from a relative path. |
TDirectory * | getROOTDirectory() const Get ROOT directory which should be used to output histograms et cetera. |
ConfigManager * | getConfigManager() const Get the config manager object to allow to read the global and other module configurations. |
bool | multithreadingEnabled() const Returns if multithreading of this module is enabled. |
virtual void | initializeThread() Initialize the module for each thread after the global initialization. |
virtual void | finalizeThread() Finalize the module after the event sequence for each thread. |
Protected Functions inherited from allpix::Module
Name | |
---|---|
void | allow_multithreading() Enable multithreading for this module. |
Configuration & | get_configuration() Get the module configuration for internal use. |
Protected Attributes inherited from allpix::Module
Name | |
---|---|
Configuration & | config_ |
Friends inherited from allpix::Module
Name | |
---|---|
class | Event |
class | ModuleManager |
class | Messenger |
class | LocalMessenger |
Detailed Description
class allpix::GenericPropagationModule;
Generic module for Runge-Kutta propagation of charge deposits in the sensitive device.
Note: This module supports multithreading
Splits the sets of deposited charge in several sets which are propagated individually. The propagation consist of a combination of drift from a charge mobility parameterization and diffusion using a Gaussian random walk process. Propagation continues until the charge deposits ’leave’ the sensitive device. Sets of charges do not interact with each other and are treated fully separate, allowing for a speed-up by propagating the charges in multiple threads.
Public Functions Documentation
function GenericPropagationModule
GenericPropagationModule(
Configuration & config,
Messenger * messenger,
std::shared_ptr< Detector > detector
)
Constructor for this detector-specific module.
Parameters:
- config Configuration object for this module as retrieved from the steering file
- messenger Pointer to the messenger object to allow binding to messages on the bus
- detector Pointer to the detector for this module instance
Besides binding the message and setting defaults for the configuration, the module copies some configuration variables to local copies to speed up computation.
function initialize
virtual void initialize() override
Initialize the module and check field configuration.
Reimplements: allpix::Module::initialize
function run
virtual void run(
Event * event
) override
Propagate all deposited charges through the sensor.
Reimplements: allpix::Module::run
function finalize
virtual void finalize() override
Write statistical summary.
Reimplements: allpix::Module::finalize
Updated on 2024-12-13 at 08:31:37 +0000