ATLAS Offline Software
Loading...
Searching...
No Matches
EventInfoLockHelper.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/*
3 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
4*/
5
6#ifndef XAODEVENTINFO_EVENTINFOLOCKHELPER
7#define XAODEVENTINFO_EVENTINFOLOCKHELPER
8
9#include <stdint.h>
10#include <functional>
11#include <vector>
13
14//Helper class to avoid locking EventInfo flags (such as ErrorState or detectorFlags)
15//when reading xAOD::EventInfo from a POOL file
16//Useful only in the context of AODFixes involving these flags.
17
18
20public:
22 typedef std::function<bool(uint32_t, uint32_t,uint64_t)> unlockFunc_t;
23
31
32
41 bool evalUnlockFunc(uint32_t runNbr, uint32_t lbNrb, uint64_t evtNbr) const;
42
43private:
44 static std::vector<unlockFunc_t> s_unlockFuncs ATLAS_THREAD_SAFE;
45
46
47};
48
49
50
51
52
53
54#endif
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
std::function< bool(uint32_t, uint32_t, uint64_t)> unlockFunc_t
static void addUnlockFunc(unlockFunc_t fn) ATLAS_NOT_THREAD_SAFE
Add a function defining if the flags are to be locked.
static std::vector< unlockFunc_t > s_unlockFuncs ATLAS_THREAD_SAFE
EventInfoLockHelper()=default
bool evalUnlockFunc(uint32_t runNbr, uint32_t lbNrb, uint64_t evtNbr) const
Check if the lock should happen or not.