ATLAS Offline Software
Loading...
Searching...
No Matches
IEvtIdModifierSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
7// IEvtIdModifierSvc.h
8// Header file for class IEvtIdModifierSvc
9// Author: S.Binet<binet@cern.ch>
11#ifndef ATHENAKERNEL_IEVTIDMODIFIERSVC_H
12#define ATHENAKERNEL_IEVTIDMODIFIERSVC_H 1
13
16
17// STL includes
18#include <vector>
19
20// FrameWork includes
21#include "GaudiKernel/EventIDBase.h"
22#include "GaudiKernel/IInterface.h"
23
24// AthenaKernel includes
25
26// fwd declares
27class EventID;
28
29// EventInfo type
30using event_number_t = EventIDBase::event_number_t;
31
32// Special global thread_local to pass event index to EventInfoCnv
34inline thread_local event_number_t eventIndex{0};
35}
36
37class IEvtIdModifierSvc : virtual public ::IInterface {
39 // Public typedefs:
41 public:
43
44 using number_type = EventIDBase::number_type;
45
47 // Public methods:
49 public:
52 virtual ~IEvtIdModifierSvc();
53
55 // Const methods:
57
60 virtual std::vector<number_type> run_number_list() const = 0;
61
63 // Non-const methods:
65
68 virtual void modify_evtid(EventID& evt_id, event_number_t eventIndex,
69 bool consume_stream) = 0;
70};
71
72#endif //> !ATHENAKERNEL_IEVTIDMODIFIERSVC_H
EventIDBase::event_number_t event_number_t
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Definition EventID.h:35
EventIDBase::number_type number_type
virtual ~IEvtIdModifierSvc()
Destructor:
DeclareInterfaceID(IEvtIdModifierSvc, 1, 0)
virtual void modify_evtid(EventID &evt_id, event_number_t eventIndex, bool consume_stream)=0
modify an EventID's content
virtual std::vector< number_type > run_number_list() const =0
return the (sorted) list of run-numbers which will be modified.
thread_local event_number_t eventIndex