ATLAS Offline Software
Control
AthenaKernel
AthenaKernel
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
30
using
event_number_t
=
EventIDBase::event_number_t
;
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
:
42
using
number_type
=
EventIDBase::number_type
;
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
68
virtual
void
modify_evtid
(
EventID
& evt_id,
event_number_t
eventIndex
,
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
Generated on Fri Jun 28 2024 21:17:22 for ATLAS Offline Software by
1.8.18