allpix::ModuleDelegate

Module: Delegate classes

Base for all delegates operating on modules. More…

#include <delegates.h>

Inherits from allpix::BaseDelegate

Inherited by allpix::FilterAllDelegate< T >, allpix::FilterDelegate< T, R >, allpix::SingleBindDelegate< T, R >, allpix::StoreDelegate< T >, allpix::VectorBindDelegate< T, R >

Public Functions

Name
ModuleDelegate(MsgFlags flags, T * obj)
Construct a module delegate for the given module.
virtual std::string getUniqueName() override
Get the unique name of the bound module.
virtual std::shared_ptr< Detector > getDetector() const override
Get the detector bound to this module.

Protected Attributes

Name
T *const obj_

Additional inherited members

Public Functions inherited from allpix::BaseDelegate

Name
BaseDelegate(const BaseDelegate & ) =delete
Copying a delegate is not allowed.
BaseDelegate & operator=(const BaseDelegate & ) =delete
Copying a delegate is not allowed.
BaseDelegate(BaseDelegate && ) =default
Enable default move behaviour.
BaseDelegate & operator=(BaseDelegate && ) =default
Enable default move behaviour.
BaseDelegate(MsgFlags flags)
Construct a delegate with the supplied flags.
virtual ~BaseDelegate() =default
Essential virtual destructor.
bool isRequired() const
Check if delegate has a required message.
MsgFlags getFlags() const
Get the flags for this delegate.
virtual void process(std::shared_ptr< BaseMessage > msg, std::string name, DelegateTypes & dest) =0
Process a message and forward it to its final destination.

Protected Attributes inherited from allpix::BaseDelegate

Name
MsgFlags flags_

Detailed Description

template <typename T >
class allpix::ModuleDelegate;

Base for all delegates operating on modules.

As all delegates currently operate on modules, this class is in fact the templated base class of all delegates.

Public Functions Documentation

function ModuleDelegate

inline explicit ModuleDelegate(
    MsgFlags flags,
    T * obj
)

Construct a module delegate for the given module.

Parameters:

function getUniqueName

inline virtual std::string getUniqueName() override

Get the unique name of the bound module.

Return: Unique name

Reimplements: allpix::BaseDelegate::getUniqueName

function getDetector

inline virtual std::shared_ptr< Detector > getDetector() const override

Get the detector bound to this module.

Reimplements: allpix::BaseDelegate::getDetector

Returns the bound detector for detector modules and a null pointer for unique modules

Protected Attributes Documentation

variable obj_

T *const obj_;

Updated on 2025-02-27 at 14:14:46 +0000