ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaRoot
RootAuxDynIO
src
RootAuxDynStore.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ROOTAUXDYNSTORE_H
6
#define ROOTAUXDYNSTORE_H
7
8
#include "
AthContainers/AuxStoreInternal.h
"
9
#include "
RootAuxDynReader.h
"
10
#include "GaudiKernel/EventContext.h"
11
12
#include <string>
13
#include <mutex>
14
15
class
RootAuxDynReader
;
16
17
class
RootAuxDynStore
:
public
SG::AuxStoreInternal
18
{
19
public
:
20
RootAuxDynStore
(
RootAuxDynReader
& reader,
long
long
entry,
21
bool
standalone, std::recursive_mutex* iomtx =
nullptr
);
22
23
virtual
~RootAuxDynStore
() {}
24
26
virtual
const
void
*
getData
(
SG::auxid_t
auxid)
const override
;
27
virtual
const
SG::IAuxTypeVector
*
getVector
(
SG::auxid_t
auxid)
const override
;
28
virtual
void
*
getData
(
SG::auxid_t
auxid,
size_t
size
,
size_t
capacity)
override
;
29
31
virtual
const
void
*
getIOData
(
SG::auxid_t
auxid)
const override
;
32
33
42
virtual
void
*
getDecoration
(
SG::auxid_t
auxid,
size_t
size
,
size_t
capacity)
override
;
43
44
49
virtual
bool
isDecoration
(
SG::auxid_t
auxid)
const override
;
50
56
virtual
size_t
size
()
const override
;
57
58
59
protected
:
61
virtual
bool
readData
(
SG::auxid_t
auxid) = 0;
62
63
protected
:
64
long
long
m_entry
;
65
67
EventContext
m_ctx
;
68
70
typedef
AthContainers_detail::mutex
mutex_t
;
71
typedef
AthContainers_detail::lock_guard<mutex_t>
guard_t
;
72
mutable
mutex_t
m_mutex
;
73
75
std::recursive_mutex *
m_iomutex
;
76
};
77
78
#endif
AuxStoreInternal.h
An auxiliary data store that holds data internally.
RootAuxDynReader.h
size
size_t size() const
Number of registered mappings.
RootAuxDynReader
Definition
RootAuxDynReader.h:14
RootAuxDynStore::guard_t
AthContainers_detail::lock_guard< mutex_t > guard_t
Definition
RootAuxDynStore.h:71
RootAuxDynStore::RootAuxDynStore
RootAuxDynStore(RootAuxDynReader &reader, long long entry, bool standalone, std::recursive_mutex *iomtx=nullptr)
Definition
RootAuxDynStore.cxx:13
RootAuxDynStore::getIOData
virtual const void * getIOData(SG::auxid_t auxid) const override
implementation of the IAuxStoreIO interface
Definition
RootAuxDynStore.cxx:59
RootAuxDynStore::getData
virtual const void * getData(SG::auxid_t auxid) const override
implementation of the IAuxStore interface
Definition
RootAuxDynStore.cxx:27
RootAuxDynStore::getDecoration
virtual void * getDecoration(SG::auxid_t auxid, size_t size, size_t capacity) override
Return the data vector for one aux data decoration item.
Definition
RootAuxDynStore.cxx:89
RootAuxDynStore::size
virtual size_t size() const override
Return the number of elements in the store.
Definition
RootAuxDynStore.cxx:123
RootAuxDynStore::readData
virtual bool readData(SG::auxid_t auxid)=0
read data from ROOT and store it in m_vecs. Returns False on error
RootAuxDynStore::m_iomutex
std::recursive_mutex * m_iomutex
Optional mutex used to serialize I/O with RootStorageSvc (not owned).
Definition
RootAuxDynStore.h:75
RootAuxDynStore::~RootAuxDynStore
virtual ~RootAuxDynStore()
Definition
RootAuxDynStore.h:23
RootAuxDynStore::m_entry
long long m_entry
Definition
RootAuxDynStore.h:64
RootAuxDynStore::m_ctx
EventContext m_ctx
Event context associated with the event store.
Definition
RootAuxDynStore.h:67
RootAuxDynStore::isDecoration
virtual bool isDecoration(SG::auxid_t auxid) const override
Test if a particular variable is tagged as a decoration.
Definition
RootAuxDynStore.cxx:107
RootAuxDynStore::getVector
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override
Definition
RootAuxDynStore.cxx:37
RootAuxDynStore::m_mutex
mutex_t m_mutex
Definition
RootAuxDynStore.h:72
RootAuxDynStore::mutex_t
AthContainers_detail::mutex mutex_t
Mutex used to synchronize modifications to the cache vector.
Definition
RootAuxDynStore.h:70
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition
IAuxTypeVector.h:45
SG::AuxStoreInternal
AuxStoreInternal(bool standalone=false)
An auxiliary data store that holds data internally.
Definition
AuxStoreInternal.cxx:31
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition
AuxTypes.h:27
Generated on
for ATLAS Offline Software by
1.17.0