ATLAS Offline Software
Loading...
Searching...
No Matches
EvtIdModifierSvc.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// 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
28class ISvcLocator;
29
38
39class 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
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
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
Definition EventID.h:37
event_number_t m_firstEvtIdx
(prop) first event number at which we begin to modify event ids
EvtIdModifierSvc()
Default constructor:
event_number_t m_skippedEvents
(prop) number of events skipped in the event selector
EvtIdModifierSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual void modify_evtid(EventID &evt_id, event_number_t evt_index, bool consume_stream) override
modify an EventID's lumi block content.
std::vector< uint64_t > m_evtNpletsProp
(prop) list of n-plets (run-nbr, evt-nbr, time-stamp, lbk-nbr, nbr-of-events-per-lbk,...
std::vector< event_number_t > m_numEvtTotals
Running total of numEvts before each modifier.
virtual StatusCode initialize() override
Gaudi Service Implementation.
std::vector< ItemModifier > m_evtNplets
db of list of ItemModifiers: (run-nbr, evt-nbr, time-stamp, lbk-nbr, nbr-of-events-per-lbk,...
std::string m_evtStoreName
(prop) Name of the event store whose EventIDs will be modified.
virtual std::vector< number_type > run_number_list() const override
return the (sorted) list of run-numbers which will be modified.
event_number_t nevts
EventID::number_type runnbr
EventID::number_type lbknbr
EventID::number_type timestamp
event_number_t evtnbr