allpix::InducedTransferModule

Module: Modules

Module to calculate the total induced charge from propagated charge carriers and to assign them to pixels. More…

#include <InducedTransferModule.hpp>

Inherits from allpix::Module

Public Functions

Name
InducedTransferModule(Configuration & config, Messenger * messenger, std::shared_ptr< Detector > detector)
Constructor for the InducedTransfer module.
virtual void initialize() override
Initial check for the presence of a weighting potential.
virtual void run(Event * event) override
Calculation of the individual total induced charge and combination for all pixels.

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.
virtual void finalize()
Finalize the module after the event sequence.

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::InducedTransferModule;

Module to calculate the total induced charge from propagated charge carriers and to assign them to pixels.

Note: This module supports multithreading

This module calculates the total induced charge by a charge carrier via the Shockley-Ramo theorem by comparing the weighting potential at the initial and final position. The initial position is retrieved via the DepositedCharge object in the history. The total induced charge is calculated per pixel and published as PixelCharge object.

This module requires a weighting potential and only works properly of both electrons and holes are present among the propagated charge carriers.

Public Functions Documentation

function InducedTransferModule

InducedTransferModule(
    Configuration & config,
    Messenger * messenger,
    std::shared_ptr< Detector > detector
)

Constructor for the InducedTransfer module.

Parameters:

  • config Configuration object 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

function initialize

virtual void initialize() override

Initial check for the presence of a weighting potential.

Reimplements: allpix::Module::initialize

function run

virtual void run(
    Event * event
) override

Calculation of the individual total induced charge and combination for all pixels.

Reimplements: allpix::Module::run


Updated on 2024-12-13 at 08:31:37 +0000