Project
Loading...
Searching...
No Matches
o2::base::MTWorkerHooks Struct Reference

#include <MTWorkerHooks.h>

Static Public Member Functions

static MTWorkerHooks & instance ()
 

Public Attributes

std::function< std::unique_ptr< o2::data::PrimaryChunk >()> fetchChunk
 Returns the next chunk of primaries for the calling thread, or nullptr when there is no more work.
 
std::function< fair::mq::Channel *()> dataChannel
 Returns the calling thread's channel to the hit merger.
 
std::function< TVirtualMCDecayer *()> makeDecayer
 Creates the external decayer of the calling thread (empty if there is none)
 
std::function< void()> stopWorker
 Ends the event loop of the calling thread after the current event.
 
std::function< void()> beginRunOnWorker
 Called on a worker thread at the start of each run, after its user actions exist.
 
std::function< void()> beforeTransport
 Called once on the master thread after initialisation and before the first transport.
 
std::function< void()> beginTrack
 Called on a worker thread at the start of each track.
 

Detailed Description

What the simulation setup provides to the transport threads of multithreaded Geant4. Installed once on the master thread before transport starts; each function is called on a worker thread.

Definition at line 31 of file MTWorkerHooks.h.

Member Function Documentation

◆ instance()

MTWorkerHooks & o2::base::MTWorkerHooks::instance ( )
static

Definition at line 17 of file MTWorkerHooks.cxx.

Member Data Documentation

◆ beforeTransport

std::function<void()> o2::base::MTWorkerHooks::beforeTransport

Called once on the master thread after initialisation and before the first transport.

Definition at line 43 of file MTWorkerHooks.h.

◆ beginRunOnWorker

std::function<void()> o2::base::MTWorkerHooks::beginRunOnWorker

Called on a worker thread at the start of each run, after its user actions exist.

Definition at line 41 of file MTWorkerHooks.h.

◆ beginTrack

std::function<void()> o2::base::MTWorkerHooks::beginTrack

Called on a worker thread at the start of each track.

Definition at line 45 of file MTWorkerHooks.h.

◆ dataChannel

std::function<fair::mq::Channel*()> o2::base::MTWorkerHooks::dataChannel

Returns the calling thread's channel to the hit merger.

Definition at line 35 of file MTWorkerHooks.h.

◆ fetchChunk

std::function<std::unique_ptr<o2::data::PrimaryChunk>()> o2::base::MTWorkerHooks::fetchChunk

Returns the next chunk of primaries for the calling thread, or nullptr when there is no more work.

Definition at line 33 of file MTWorkerHooks.h.

◆ makeDecayer

std::function<TVirtualMCDecayer*()> o2::base::MTWorkerHooks::makeDecayer

Creates the external decayer of the calling thread (empty if there is none)

Definition at line 37 of file MTWorkerHooks.h.

◆ stopWorker

std::function<void()> o2::base::MTWorkerHooks::stopWorker

Ends the event loop of the calling thread after the current event.

Definition at line 39 of file MTWorkerHooks.h.


The documentation for this struct was generated from the following files: