ATLAS Offline Software
IEvtIdModifierSvc.h
Go to the documentation of this file.
1 
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 
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
27 class EventID;
28 
29 // EventInfo type
31 
32 // Special global thread_local to pass event index to EventInfoCnv
33 namespace EventInfoCnvParams {
34 inline thread_local event_number_t eventIndex{0};
35 }
36 
37 class IEvtIdModifierSvc : virtual public ::IInterface {
39  // Public typedefs:
41  public:
43 
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 
69  bool consume_stream) = 0;
70 };
71 
72 #endif //> !ATHENAKERNEL_IEVTIDMODIFIERSVC_H
IEvtIdModifierSvc::run_number_list
virtual std::vector< number_type > run_number_list() const =0
return the (sorted) list of run-numbers which will be modified.
EventInfoCnvParams
Definition: IEvtIdModifierSvc.h:33
AtlasMcWeight::number_type
unsigned int number_type
Definition: AtlasMcWeight.h:20
IEvtIdModifierSvc::number_type
EventIDBase::number_type number_type
Definition: IEvtIdModifierSvc.h:44
IEvtIdModifierSvc
Definition: IEvtIdModifierSvc.h:37
event_number_t
EventIDBase::event_number_t event_number_t
Definition: IEvtIdModifierSvc.h:30
IEvtIdModifierSvc::modify_evtid
virtual void modify_evtid(EventID &evt_id, event_number_t eventIndex, bool consume_stream)=0
modify an EventID's content
IEvtIdModifierSvc::DeclareInterfaceID
DeclareInterfaceID(IEvtIdModifierSvc, 1, 0)
EventID
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Definition: EventID.h:35
IEvtIdModifierSvc::~IEvtIdModifierSvc
virtual ~IEvtIdModifierSvc()
Destructor:
Definition: IEvtIdModifierSvc.cxx:18
EventInfoCnvParams::eventIndex
thread_local event_number_t eventIndex
Definition: IEvtIdModifierSvc.h:34