Belle II Software development
CompositeProcessingSignalListener.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/utilities/ProcessingSignalListener.h>
11
12#include <vector>
13
14namespace Belle2 {
19 namespace TrackFindingCDC {
22
23 private:
26
27 public:
29 void initialize() override;
30
32 void beginRun() override;
33
35 void beginEvent() override;
36
38 void endRun() override;
39
41 void terminate() override;
42
43 protected:
46
49
50 private:
52 std::vector<ProcessingSignalListener*> m_subordinaryProcessingSignalListeners;
53 };
54 }
56}
Partial implemenation for an algorithm part that wants to dispatch processing signals to subobjects.
void initialize() override
Receive and dispatch signal before the start of the event processing.
int getNProcessingSignalListener()
Get the number of currently registered listeners.
void endRun() override
Receive and dispatch signal for the end of the run.
void terminate() override
Receive and dispatch Signal for termination of the event processing.
void beginRun() override
Receive and dispatch signal for the beginning of a new run.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
void beginEvent() override
Receive and dispatch signal for the start of a new event.
std::vector< ProcessingSignalListener * > m_subordinaryProcessingSignalListeners
References to subordinary signal processing listener contained in this findlet.
Interface for an algorithm part that needs to receive the module processing signals.
ProcessingSignalListener()
Allow default construction.
Abstract base class for different kinds of events.