ATLAS Offline Software
Loading...
Searching...
No Matches
SkipEventIdxSvc.h
Go to the documentation of this file.
1/* -*- C++ -*- */
2/*
3 * Copyright (C) 2023 CERN for the benefit of the ATLAS collaboration.
4 */
5#ifndef PILEUPMT_SKIPEVENTIDXSVC_H
6#define PILEUPMT_SKIPEVENTIDXSVC_H
7
8#include <format>
9
11#include "ISkipEventIdxSvc.h"
12
14 : public extends<AthService, IIncidentListener, ISkipEventIdxSvc> {
15 public:
16 SkipEventIdxSvc(const std::string& name, ISvcLocator* svc);
17 ~SkipEventIdxSvc() override = default;
18
19 StatusCode initialize() override;
20 StatusCode start() override;
21 StatusCode registerCallback(
22 std::function<StatusCode(EvtIter, EvtIter)>&& callback) override;
23 void handle(const Incident& inc) override;
24
25 private:
27 std::vector<EvtId> m_events{};
28 std::vector<std::function<StatusCode(EvtIter, EvtIter)>> m_callbacks{};
29 bool m_started = false;
30};
31
32#endif // PILEUPMT_SKIPEVENTIDXSVC_H
StatusCode initialize() override
void handle(const Incident &inc) override
std::vector< std::function< StatusCode(EvtIter, EvtIter)> > m_callbacks
StatusCode start() override
SkipEventIdxSvc(const std::string &name, ISvcLocator *svc)
std::vector< EvtId > m_events
~SkipEventIdxSvc() override=default
StatusCode registerCallback(std::function< StatusCode(EvtIter, EvtIter)> &&callback) override