allpix::DepositionGeant4Module

Module: Modules

Module to simulate the particle beam and generating the charge deposits in the sensor. More…

#include <DepositionGeant4Module.hpp>

Inherits from allpix::SequentialModule, allpix::Module

Inherited by allpix::DepositionCosmicsModule, allpix::DepositionGeneratorModule

Public Functions

Name
DepositionGeant4Module(Configuration & config, Messenger * messenger, GeometryManager * geo_manager)
Constructor for this unique module.
virtual void initialize() override
Initializes the physics list of processes and constructs the particle source.
virtual void initializeThread() override
Prepare thread-local instances of worker run managers.
virtual void run(Event * event) override
Deposit charges for a single event.
virtual void finalizeThread() override
Cleanup RunManager for each thread.
virtual void finalize() override
Display statistical summary.

Protected Functions

Name
virtual void initialize_g4_action()

Protected Attributes

Name
Messenger * messenger_
GeometryManager * geo_manager_
G4RunManager * run_manager_g4_

Friends

Name
class SDAndFieldConstruction
class SetTrackInfoUserHookG4

Additional inherited members

Public Functions inherited from allpix::SequentialModule

Name
SequentialModule(Configuration & config)
SequentialModule(Configuration & config, std::shared_ptr< Detector > detector)

Protected Functions inherited from allpix::SequentialModule

Name
void waive_sequence_requirement(bool waive =true)
Release strict sequence processing requirement.

Friends inherited from allpix::SequentialModule

Name
class Event
class ModuleManager
class Messenger

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.

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

Module to simulate the particle beam and generating the charge deposits in the sensor.

A beam is defined at a certain position that propagates a particular particle in a certain direction. When the beam hits the sensor the energy loss is converted to charge deposits using the electron-hole creation energy. The energy deposits are specific for a detector. The module also returns the information of the real particle passage (the MCParticle).

Public Functions Documentation

function DepositionGeant4Module

DepositionGeant4Module(
    Configuration & config,
    Messenger * messenger,
    GeometryManager * geo_manager
)

Constructor for this unique 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
  • geo_manager Pointer to the geometry manager, containing the detectors

Includes the particle source point to the geometry using GeometryManager::addPoint.

function initialize

virtual void initialize() override

Initializes the physics list of processes and constructs the particle source.

Reimplements: allpix::Module::initialize

Reimplemented by: allpix::DepositionGeneratorModule::initialize

Module depends on GeometryBuilderGeant4Module loaded first, because it owns the pointer to the Geant4 run manager.

function initializeThread

virtual void initializeThread() override

Prepare thread-local instances of worker run managers.

Reimplements: allpix::Module::initializeThread

function run

virtual void run(
    Event * event
) override

Deposit charges for a single event.

Reimplements: allpix::Module::run

Reimplemented by: allpix::DepositionGeneratorModule::run

function finalizeThread

virtual void finalizeThread() override

Cleanup RunManager for each thread.

Reimplements: allpix::Module::finalizeThread

function finalize

virtual void finalize() override

Display statistical summary.

Reimplements: allpix::Module::finalize

Protected Functions Documentation

function initialize_g4_action

virtual void initialize_g4_action()

Reimplemented by: allpix::DepositionCosmicsModule::initialize_g4_action, allpix::DepositionGeneratorModule::initialize_g4_action

Protected Attributes Documentation

variable messenger_

Messenger * messenger_;

variable geo_manager_

GeometryManager * geo_manager_;

variable run_manager_g4_

G4RunManager * run_manager_g4_ {nullptr};

Friends

friend SDAndFieldConstruction

friend class SDAndFieldConstruction(
    SDAndFieldConstruction 
);

friend SetTrackInfoUserHookG4

friend class SetTrackInfoUserHookG4(
    SetTrackInfoUserHookG4 
);

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