ATLAS Offline Software
EvtIdModifierSvc.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 // EvtIdModifierSvc.h
8 // Header file for class EvtIdModifierSvc
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHENASERVICES_EVTIDMODIFIERSVC_H
12 #define ATHENASERVICES_EVTIDMODIFIERSVC_H 1
13 
14 // STL includes
15 #include <string>
16 #include <vector>
17 
18 // FrameWork includes
20 
21 // AthenaKernel
23 
24 // event includes
25 #include "EventInfo/EventID.h"
26 
27 // Forward declaration
28 class ISvcLocator;
29 
30 struct ItemModifier {
36  int flags{0};
37 };
38 
39 class EvtIdModifierSvc : public extends<AthService, IEvtIdModifierSvc> {
40 
42  // Public methods:
44  public:
46  EvtIdModifierSvc(const std::string& name, ISvcLocator* pSvcLocator);
47 
49 
50  virtual StatusCode initialize() override;
52 
54  // Const methods:
56 
59  virtual std::vector<number_type> run_number_list() const override;
60 
62  // Non-const methods:
64 
67  virtual void modify_evtid(EventID& evt_id, event_number_t evt_index,
68  bool consume_stream) override;
69 
71  // Private data:
73  private:
76 
81 
84  std::vector<uint64_t> m_evtNpletsProp;
85 
87  std::string m_evtStoreName;
88 
91  std::vector<ItemModifier> m_evtNplets;
92 
94  std::vector<event_number_t> m_numEvtTotals;
95 };
96 
97 #endif //> !ATHENASERVICES_EVTIDMODIFIERSVC_H
EvtIdModifierSvc::m_evtNplets
std::vector< ItemModifier > m_evtNplets
db of list of ItemModifiers: (run-nbr, evt-nbr, time-stamp, lbk-nbr, nbr-of-events-per-lbk,...
Definition: EvtIdModifierSvc.h:91
ItemModifier
Definition: EvtIdModifierSvc.h:30
EvtIdModifierSvc::run_number_list
virtual std::vector< number_type > run_number_list() const override
return the (sorted) list of run-numbers which will be modified.
Definition: EvtIdModifierSvc.cxx:121
EvtIdModifierSvc
Definition: EvtIdModifierSvc.h:39
EvtIdModifierSvc::EvtIdModifierSvc
EvtIdModifierSvc()
Default constructor:
EvtIdModifierSvc::m_evtStoreName
std::string m_evtStoreName
(prop) Name of the event store whose EventIDs will be modified.
Definition: EvtIdModifierSvc.h:87
ItemModifier::flags
int flags
Definition: EvtIdModifierSvc.h:36
EvtIdModifierSvc::m_firstEvtIdx
event_number_t m_firstEvtIdx
(prop) first event number at which we begin to modify event ids
Definition: EvtIdModifierSvc.h:80
EvtIdModifierSvc::m_numEvtTotals
std::vector< event_number_t > m_numEvtTotals
Running total of numEvts before each modifier.
Definition: EvtIdModifierSvc.h:94
ItemModifier::timestamp
EventID::number_type timestamp
Definition: EvtIdModifierSvc.h:33
event_number_t
EventIDBase::event_number_t event_number_t
Definition: IEvtIdModifierSvc.h:30
EventID.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
IEvtIdModifierSvc.h
EventID::number_type
EventIDBase::number_type number_type
Definition: EventID.h:37
EvtIdModifierSvc::modify_evtid
virtual void modify_evtid(EventID &evt_id, event_number_t evt_index, bool consume_stream) override
modify an EventID's lumi block content.
Definition: EvtIdModifierSvc.cxx:138
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ItemModifier::runnbr
EventID::number_type runnbr
Definition: EvtIdModifierSvc.h:31
EvtIdModifierSvc::m_evtNpletsProp
std::vector< uint64_t > m_evtNpletsProp
(prop) list of n-plets (run-nbr, evt-nbr, time-stamp, lbk-nbr, nbr-of-events-per-lbk,...
Definition: EvtIdModifierSvc.h:84
EvtIdModifierSvc::m_skippedEvents
event_number_t m_skippedEvents
(prop) number of events skipped in the event selector
Definition: EvtIdModifierSvc.h:78
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EventID
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Definition: EventID.h:35
AthService.h
ItemModifier::evtnbr
event_number_t evtnbr
Definition: EvtIdModifierSvc.h:32
ItemModifier::nevts
event_number_t nevts
Definition: EvtIdModifierSvc.h:35
EvtIdModifierSvc::initialize
virtual StatusCode initialize() override
Gaudi Service Implementation.
Definition: EvtIdModifierSvc.cxx:65
ItemModifier::lbknbr
EventID::number_type lbknbr
Definition: EvtIdModifierSvc.h:34