ATLAS Offline Software
IEvtIdModifierSvc.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 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  // Public methods:
47  public:
50  virtual ~IEvtIdModifierSvc();
51 
53  // Const methods:
55 
58  virtual std::vector<number_type> run_number_list() const = 0;
59 
61  // Non-const methods:
63 
64  static const InterfaceID& interfaceID();
65 
69  bool consume_stream) = 0;
70 };
71 
73 // Inline methods:
75 
76 inline const InterfaceID& IEvtIdModifierSvc::interfaceID() {
77  static const InterfaceID IID_IEvtIdModifierSvc("IEvtIdModifierSvc", 1, 0);
78  return IID_IEvtIdModifierSvc;
79 }
80 
81 #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::interfaceID
static const InterfaceID & interfaceID()
Definition: IEvtIdModifierSvc.h:76
IEvtIdModifierSvc::number_type
EventIDBase::number_type number_type
Definition: IEvtIdModifierSvc.h:42
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
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