ATLAS Offline Software
Public Types | Public Member Functions | Public Attributes | List of all members
SGTest::TestStore Class Reference

#include <TestStore.h>

Inheritance diagram for SGTest::TestStore:
Collaboration diagram for SGTest::TestStore:

Public Types

typedef std::unordered_map< const void *, SG::DataProxy * > tmap_t
 
typedef SG::SGKeyMap< SG::DataProxy * > kmap_t
 
typedef std::unordered_map< TestStoreRemap, TestStoreRemap, TestStoreRemapHashremap_t
 
typedef std::mutex mutex_t
 
typedef std::lock_guard< mutex_tlock_t
 
typedef SG::sgkey_t sgkey_t
 Type of the keys. More...
 

Public Member Functions

virtual unsigned long addRef () override
 
virtual unsigned long release () override
 
virtual StatusCode queryInterface (const InterfaceID &, void **) override
 
virtual std::vector< const SG::DataProxy * > proxies () const override
 Return the list of all current proxies in store. More...
 
virtual const std::string * keyToString (sgkey_t) const override
 Find the string corresponding to a given key. More...
 
virtual void registerKey (sgkey_t, const std::string &, CLID) override
 Remember an additional mapping from key to string/CLID. More...
 
virtual const std::string & name () const override
 
virtual SG::DataProxyproxy (const void *const pTransient) const override
 Get a proxy referencing a given transient object. More...
 
virtual SG::DataProxyproxy (const CLID &id, const std::string &key) const override
 Get proxy with given id and key. More...
 
virtual SG::DataProxyproxy_exact (SG::sgkey_t sgkey) const override
 Get proxy given a hashed key+clid. More...
 
virtual sgkey_t stringToKey (const std::string &str, CLID clid) override
 Find the key for a string/CLID pair. More...
 
virtual const std::string * keyToString (sgkey_t key, CLID &clid) const override
 Find the string and CLID corresponding to a given key. More...
 
virtual bool tryELRemap (sgkey_t sgkey_in, size_t index_in, sgkey_t &sgkey_out, size_t &index_out) override
 Test to see if the target of an ElementLink has moved. More...
 
virtual StatusCode addToStore (CLID, SG::DataProxy *proxy) override
 Add a new proxy to the store. More...
 
virtual void boundHandle (IResetable *handle) override
 Tell the store that a handle has been bound to a proxy. More...
 
virtual void unboundHandle (IResetable *handle) override
 Tell the store that a handle has been unbound from a proxy. More...
 
virtual SG::DataProxyrecordObject (SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting) override
 Record an object in the store. More...
 
template<class T >
void record (const T *p, const std::string &key)
 
template<class T >
void record (std::unique_ptr< T > up, const std::string &key)
 
void remap (sgkey_t sgkey_in, sgkey_t sgkey_out, size_t index_in=0, size_t index_out=0)
 
template<class T >
void remap (const std::string &key_in, const std::string &key_out, size_t index_in=0, size_t index_out=0)
 
void alias (SG::DataProxy *proxy, const std::string &newKey)
 
SG::DataProxyproxy (lock_t &, const void *const pTransient) const
 
SG::DataProxyproxy (lock_t &, const CLID &id, const std::string &key) const
 
SG::DataProxyrecord1 (lock_t &, const void *p, DataObject *obj, CLID clid, const std::string &key)
 
 DeclareInterfaceID (IProxyDict, 2, 0)
 
 DeclareInterfaceID (INamedInterface, 2, 0)
 
virtual StatusCode createObj (IConverter *cvt, IOpaqueAddress *addr, DataObject *&refpObject)
 Call converter to create an object, possibly with locking. More...
 
virtual IProxyDicthiveProxyDict () override
 Return the current event-slot-specific store. More...
 
virtual SG::SourceID sourceID (const std::string &key="EventSelector") const
 Return the metadata source ID for the current event slot. More...
 

Public Attributes

tmap_t m_tmap
 
kmap_t m_kmap
 
remap_t m_remap
 
SG::StringPool m_stringPool ATLAS_THREAD_SAFE
 
std::vector< IResetable * > m_boundHandles
 
std::vector< std::pair< CLID, std::string > > m_missedProxies ATLAS_THREAD_SAFE
 
mutex_t m_mutex
 

Detailed Description

Definition at line 50 of file TestStore.h.

Member Typedef Documentation

◆ kmap_t

Definition at line 125 of file TestStore.h.

◆ lock_t

typedef std::lock_guard<mutex_t> SGTest::TestStore::lock_t

Definition at line 139 of file TestStore.h.

◆ mutex_t

typedef std::mutex SGTest::TestStore::mutex_t

Definition at line 138 of file TestStore.h.

◆ remap_t

Definition at line 128 of file TestStore.h.

◆ sgkey_t

typedef SG::sgkey_t IStringPool::sgkey_t
inherited

Type of the keys.

Definition at line 34 of file IStringPool.h.

◆ tmap_t

typedef std::unordered_map<const void*, SG::DataProxy*> SGTest::TestStore::tmap_t

Definition at line 122 of file TestStore.h.

Member Function Documentation

◆ addRef()

unsigned long SGTest::TestStore::addRef ( )
overridevirtual

Definition at line 26 of file TestStore.cxx.

27 {
28  std::cout << "addRef\n"; std::abort();
29 }

◆ addToStore()

StatusCode SGTest::TestStore::addToStore ( CLID  id,
SG::DataProxy proxy 
)
overridevirtual

Add a new proxy to the store.

Parameters
idCLID as which the proxy should be added.
proxyThe proxy to add.

Simple addition of a proxy to the store. The key is taken as the primary key of the proxy. Does not handle things like overwrite, history, symlinks, etc. Should return failure if there is already an entry for this clid/key.

Implements IProxyDict.

Definition at line 194 of file TestStore.cxx.

195 {
196  lock_t lock (m_mutex);
197  proxy->setStore (this);
198  m_kmap[proxy->sgkey()] = proxy;
199  proxy->addRef();
200  return StatusCode::SUCCESS;
201 }

◆ alias()

void SGTest::TestStore::alias ( SG::DataProxy proxy,
const std::string &  newKey 
)

Definition at line 254 of file TestStore.cxx.

256 {
257  lock_t lock (m_mutex);
258  sgkey_t sgkey = m_stringPool.stringToKey (newKey, proxy->clID());
259  m_kmap[sgkey] = proxy;
260  proxy->addRef();
261  proxy->setAlias (newKey);
262 }

◆ boundHandle()

void SGTest::TestStore::boundHandle ( IResetable handle)
overridevirtual

Tell the store that a handle has been bound to a proxy.

Parameters
handleThe handle that was bound. The default implementation does nothing.

Reimplemented from IProxyDict.

Definition at line 204 of file TestStore.cxx.

205 {
206  lock_t lock (m_mutex);
207  m_boundHandles.push_back (handle);
208 }

◆ createObj()

StatusCode IProxyDict::createObj ( IConverter *  cvt,
IOpaqueAddress *  addr,
DataObject *&  refpObject 
)
virtualinherited

Call converter to create an object, possibly with locking.

Parameters
cvtThe converter to call.
addrOpaque address information for the object to create.
refpObjectReference to location of the pointer of the created object.

This calls the createObj method on cvt to create the referenced transient object.

This will also lock the store, if that is required.

The default implementation just forwards the method call, with no locking.

Reimplemented in StoreGateSvc, and SGImplSvc.

Definition at line 70 of file IProxyDict.cxx.

73 {
74  return cvt->createObj (addr, refpObject);
75 }

◆ DeclareInterfaceID() [1/2]

IHiveStore::DeclareInterfaceID ( INamedInterface  ,
,
 
)
inherited

◆ DeclareInterfaceID() [2/2]

IProxyDict::DeclareInterfaceID ( IProxyDict  ,
,
 
)
inherited

◆ hiveProxyDict()

IProxyDict * IProxyDict::hiveProxyDict ( )
overridevirtualinherited

Return the current event-slot-specific store.

The default version just returns this.

Implements IHiveStore.

Reimplemented in StoreGateSvc, and SGImplSvc.

Definition at line 83 of file IProxyDict.cxx.

84 {
85  return this;
86 }

◆ keyToString() [1/2]

const std::string * SGTest::TestStore::keyToString ( sgkey_t  key,
CLID clid 
) const
overridevirtual

Find the string and CLID corresponding to a given key.

Parameters
keyThe key to look up.
clid[out]The found CLID.
Returns
Pointer to the string found, or null. We can find keys as long as the corresponding string was given to either stringToKey() or registerKey().

Implements IStringPool.

Definition at line 175 of file TestStore.cxx.

176 {
177  lock_t lock (m_mutex);
178  return m_stringPool.keyToString (key, clid);
179 }

◆ keyToString() [2/2]

const std::string * SGTest::TestStore::keyToString ( sgkey_t  key) const
overridevirtual

Find the string corresponding to a given key.

Parameters
keyThe key to look up.
Returns
Pointer to the string found, or null. We can find keys as long as the corresponding string was given to either stringToKey() or registerKey().

Implements IStringPool.

Definition at line 50 of file TestStore.cxx.

51 {
52  return m_stringPool.keyToString (key);
53 }

◆ name()

const std::string & SGTest::TestStore::name ( ) const
overridevirtual

Definition at line 115 of file TestStore.cxx.

116 {
117  static const std::string nm = "TestStore";
118  return nm;
119 }

◆ proxies()

std::vector< const SG::DataProxy * > SGTest::TestStore::proxies ( ) const
overridevirtual

Return the list of all current proxies in store.

Implements IProxyDict.

Definition at line 44 of file TestStore.cxx.

45 {
46  std::cout << "proxies\n"; std::abort();
47 }

◆ proxy() [1/4]

SG::DataProxy * SGTest::TestStore::proxy ( const CLID id,
const std::string &  key 
) const
overridevirtual

Get proxy with given id and key.

Parameters
idThe CLID of the desired object.
keyThe key of the desired object.

If the key is a null string, then it is a default key. Finding a proxy via the default key should succeed only if there is exactly one object with the given CLID in the store. Finding a proxy via a default key is considered deprecated for the case of the event store.

Returns 0 to flag failure

Implements IProxyDict.

Definition at line 139 of file TestStore.cxx.

140 {
141  lock_t lock (m_mutex);
142  return proxy (lock, id, key);
143 }

◆ proxy() [2/4]

SG::DataProxy * SGTest::TestStore::proxy ( const void *const  pTransient) const
overridevirtual

Get a proxy referencing a given transient object.

Parameters
pTransientThe object to find.

Returns 0 to flag failure

Implements IProxyDict.

Definition at line 122 of file TestStore.cxx.

123 {
124  lock_t lock (m_mutex);
125  return proxy (lock, pTransient);
126 }

◆ proxy() [3/4]

SG::DataProxy * SGTest::TestStore::proxy ( lock_t ,
const CLID id,
const std::string &  key 
) const

Definition at line 147 of file TestStore.cxx.

148 {
149  sgkey_t sgkey = m_stringPool.stringToKey (key, id);
150  kmap_t::const_iterator i = m_kmap.find (sgkey);
151  if (i != m_kmap.end())
152  return i->second;
153  m_missedProxies.emplace_back (id, key);
154  return 0;
155 }

◆ proxy() [4/4]

SG::DataProxy * SGTest::TestStore::proxy ( lock_t ,
const void *const  pTransient 
) const

Definition at line 130 of file TestStore.cxx.

131 {
132  tmap_t::const_iterator i = m_tmap.find (pTransient);
133  if (i != m_tmap.end())
134  return i->second;
135  return 0;
136 }

◆ proxy_exact()

SG::DataProxy * SGTest::TestStore::proxy_exact ( SG::sgkey_t  sgkey) const
overridevirtual

Get proxy given a hashed key+clid.

Parameters
sgkeyHashed key to look up.

Find an exact match; no handling of aliases, etc. Returns 0 to flag failure.

Implements IProxyDict.

Definition at line 158 of file TestStore.cxx.

159 {
160  lock_t lock (m_mutex);
161  kmap_t::const_iterator i = m_kmap.find (sgkey);
162  if (i != m_kmap.end())
163  return i->second;
164  return 0;
165 }

◆ queryInterface()

StatusCode SGTest::TestStore::queryInterface ( const InterfaceID &  ,
void **   
)
overridevirtual

Definition at line 38 of file TestStore.cxx.

39 {
40  std::cout << "queryInterface\n"; std::abort();
41 }

◆ record() [1/2]

template<class T >
void SGTest::TestStore::record ( const T *  p,
const std::string &  key 
)
inline

Definition at line 85 of file TestStore.h.

86  {
87  lock_t lock (m_mutex);
88  T* p_nc ATLAS_THREAD_SAFE = const_cast<T*>(p);
89  DataObject* obj = SG::asStorable<T>(p_nc);
90  CLID clid = ClassID_traits<T>::ID();
91  record1 (lock, p, obj, clid, key);
92  }

◆ record() [2/2]

template<class T >
void SGTest::TestStore::record ( std::unique_ptr< T >  up,
const std::string &  key 
)
inline

Definition at line 96 of file TestStore.h.

97  {
98  lock_t lock (m_mutex);
99  T* p = up.get();
100  DataObject* obj = SG::asStorable<T>(std::move (up));
101  CLID clid = ClassID_traits<T>::ID();
102  record1 (lock, p, obj, clid, key);
103  }

◆ record1()

SG::DataProxy * SGTest::TestStore::record1 ( lock_t ,
const void *  p,
DataObject *  obj,
CLID  clid,
const std::string &  key 
)

Definition at line 221 of file TestStore.cxx.

223 {
224  sgkey_t sgkey = m_stringPool.stringToKey (key, clid);
225  if (m_kmap.find (sgkey) != m_kmap.end()) {
227  dp->setObject (obj);
228  if (dp->clID() == CLID_NULL)
229  dp->setID (clid, key);
230  m_tmap[p] = dp;
231  return dp;
232  }
233 
235  dp->setStore (this);
236  m_tmap[p] = dp;
237 
238  m_kmap[sgkey] = dp;
239  dp->addRef();
240  dp->setSGKey (sgkey);
241  return dp;
242 }

◆ recordObject()

SG::DataProxy * SGTest::TestStore::recordObject ( SG::DataObjectSharedPtr< DataObject >  obj,
const std::string &  key,
bool  allowMods,
bool  returnExisting 
)
overridevirtual

Record an object in the store.

Parameters
objThe data object to store.
keyThe key as which it should be stored.
allowModsIf false, the object will be recorded as const.
returnExistingIf true, return proxy if this key already exists. If the object has been recorded under a different key, then make an alias. If the object has been recorded under a different clid, then make a link.

Full-blown record. obj should usually be something deriving from SG::DataBucket.

Returns the proxy for the recorded object; nullptr on failure. If the requested CLID/key combination already exists in the store, the behavior is controlled by returnExisting. If true, then the existing proxy is returned; otherwise, nullptr is returned. In either case, obj is destroyed.

Implements IProxyDict.

Definition at line 64 of file TestStore.cxx.

68 {
69  lock_t lock (m_mutex);
70  const void* raw_ptr = obj.get();
71  if (DataBucketBase* bucket = dynamic_cast<DataBucketBase*> (obj.get())) {
72  raw_ptr = bucket->object();
73  }
74 
75  CLID clid = obj->clID();
76  SG::DataProxy* proxy = this->proxy (lock, clid, key);
77  if (proxy) {
78  if (returnExisting)
79  return proxy;
80  else
81  return nullptr;
82  }
83 
84  proxy = this->proxy (lock, raw_ptr);
85  if (proxy) {
86  sgkey_t sgkey = m_stringPool.stringToKey (key, obj->clID());
87  if (!returnExisting)
88  return nullptr;
89  if (obj->clID() == proxy->clID()) {
90  // Alias?
91  m_kmap[sgkey] = proxy;
92  proxy->addRef();
93  proxy->setAlias (key);
94  return proxy;
95  }
96  if (key == proxy->name()) {
97  // Symlink?
98  m_kmap[sgkey] = proxy;
99  proxy->addRef();
100  proxy->setTransientID (obj->clID());
101  return proxy;
102  }
103 
104  // Error.
105  return nullptr;
106  }
107 
108  proxy = record1 (lock, raw_ptr, obj.get(), clid, key);
109  if (!allowMods)
110  proxy->setConst();
111  return proxy;
112 }

◆ registerKey()

void SGTest::TestStore::registerKey ( sgkey_t  key,
const std::string &  str,
CLID  clid 
)
overridevirtual

Remember an additional mapping from key to string/CLID.

Parameters
keyThe key to enter.
strThe string to enter.
clidThe CLID associated with the string.
Returns
True if successful; false if the key already corresponds to a different string.

This registers an additional mapping from a key to a string; it can be found later through lookup() on the string. Logs an error if key already corresponds to a different string.

Implements IStringPool.

Definition at line 56 of file TestStore.cxx.

59 {
60  std::cout << "registerKey\n"; std::abort();
61 }

◆ release()

unsigned long SGTest::TestStore::release ( )
overridevirtual

Definition at line 32 of file TestStore.cxx.

33 {
34  std::cout << "release\n"; std::abort();
35 }

◆ remap() [1/2]

template<class T >
void SGTest::TestStore::remap ( const std::string &  key_in,
const std::string &  key_out,
size_t  index_in = 0,
size_t  index_out = 0 
)
inline

Definition at line 111 of file TestStore.h.

113  {
114  CLID clid = ClassID_traits<T>::ID();
115  sgkey_t sgkey_in = stringToKey (key_in, clid);
116  sgkey_t sgkey_out = stringToKey (key_out, clid);
117  remap (sgkey_in, sgkey_out, index_in, index_out);
118  }

◆ remap() [2/2]

void SGTest::TestStore::remap ( sgkey_t  sgkey_in,
sgkey_t  sgkey_out,
size_t  index_in = 0,
size_t  index_out = 0 
)

Definition at line 245 of file TestStore.cxx.

247 {
248  lock_t lock (m_mutex);
249  m_remap[TestStoreRemap(sgkey_in, index_in)] =
250  TestStoreRemap(sgkey_out, index_out);
251 }

◆ sourceID()

SG::SourceID IProxyDict::sourceID ( const std::string &  key = "EventSelector") const
virtualinherited

Return the metadata source ID for the current event slot.

Parameters
keySG key of the DataHeader to query. Returns an empty string if no source has been set.

The default version always returns an empty string.

Reimplemented in StoreGateSvc, and SGImplSvc.

Definition at line 97 of file IProxyDict.cxx.

98 {
99  return SG::SourceID();
100 }

◆ stringToKey()

sgkey_t SGTest::TestStore::stringToKey ( const std::string &  str,
CLID  clid 
)
overridevirtual

Find the key for a string/CLID pair.

Parameters
strThe string to look up.
clidThe CLID associated with the string.
Returns
A key identifying the string. A given string will always return the same key. Will abort in case of a hash collision!

Implements IStringPool.

Definition at line 168 of file TestStore.cxx.

169 {
170  lock_t lock (m_mutex);
171  return m_stringPool.stringToKey (str, clid);
172 }

◆ tryELRemap()

bool SGTest::TestStore::tryELRemap ( sgkey_t  sgkey_in,
size_t  index_in,
sgkey_t sgkey_out,
size_t &  index_out 
)
overridevirtual

Test to see if the target of an ElementLink has moved.

Parameters
sgkey_inOriginal hashed key of the EL.
index_inOriginal index of the EL.
sgkey_out[out]New hashed key for the EL.
index_out[out]New index for the EL.
Returns
True if there is a remapping; false otherwise.

The default implementation here always returns false.

Reimplemented from IProxyDict.

Definition at line 182 of file TestStore.cxx.

184 {
185  lock_t lock (m_mutex);
186  remap_t::iterator i = m_remap.find (TestStoreRemap (sgkey_in, index_in));
187  if (i == m_remap.end()) return false;
188  sgkey_out = i->second.key;
189  index_out = i->second.index;
190  return true;
191 }

◆ unboundHandle()

void SGTest::TestStore::unboundHandle ( IResetable handle)
overridevirtual

Tell the store that a handle has been unbound from a proxy.

Parameters
handleThe handle that was unbound. The default implementation does nothing.

Reimplemented from IProxyDict.

Definition at line 211 of file TestStore.cxx.

212 {
213  lock_t lock (m_mutex);
215  std::find (m_boundHandles.begin(), m_boundHandles.end(), handle);
216  if (it != m_boundHandles.end())
217  m_boundHandles.erase (it);
218 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/2]

SG::StringPool m_stringPool SGTest::TestStore::ATLAS_THREAD_SAFE
mutable

Definition at line 131 of file TestStore.h.

◆ ATLAS_THREAD_SAFE [2/2]

std::vector<std::pair<CLID, std::string> > m_missedProxies SGTest::TestStore::ATLAS_THREAD_SAFE
mutable

Definition at line 136 of file TestStore.h.

◆ m_boundHandles

std::vector<IResetable*> SGTest::TestStore::m_boundHandles

Definition at line 133 of file TestStore.h.

◆ m_kmap

kmap_t SGTest::TestStore::m_kmap

Definition at line 126 of file TestStore.h.

◆ m_mutex

mutex_t SGTest::TestStore::m_mutex
mutable

Definition at line 140 of file TestStore.h.

◆ m_remap

remap_t SGTest::TestStore::m_remap

Definition at line 129 of file TestStore.h.

◆ m_tmap

tmap_t SGTest::TestStore::m_tmap

Definition at line 123 of file TestStore.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
common.sgkey
def sgkey(tool)
Definition: common.py:1028
TileDCSDataPlotter.dp
dp
Definition: TileDCSDataPlotter.py:840
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SGTest::TestStore::record1
SG::DataProxy * record1(lock_t &, const void *p, DataObject *obj, CLID clid, const std::string &key)
Definition: TestStore.cxx:221
SG::DataProxy::sgkey
sgkey_t sgkey() const
< Get the primary (hashed) SG key.
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
DataBucketBase
A non-templated base class for DataBucket, allows to access the transient object address as a void*.
Definition: DataBucketBase.h:24
SGTest::TestStore::lock_t
std::lock_guard< mutex_t > lock_t
Definition: TestStore.h:139
SGTest::TestStore::m_remap
remap_t m_remap
Definition: TestStore.h:129
skel.it
it
Definition: skel.GENtoEVGEN.py:423
SG::TransientAddress
Definition: TransientAddress.h:32
SGTest::TestStore::stringToKey
virtual sgkey_t stringToKey(const std::string &str, CLID clid) override
Find the key for a string/CLID pair.
Definition: TestStore.cxx:168
IStringPool::sgkey_t
SG::sgkey_t sgkey_t
Type of the keys.
Definition: IStringPool.h:34
SGTest::TestStore::remap
void remap(sgkey_t sgkey_in, sgkey_t sgkey_out, size_t index_in=0, size_t index_out=0)
Definition: TestStore.cxx:245
SG::DataProxy::setStore
void setStore(IProxyDict *store)
Set the store of which we're a part.
SGTest::TestStore::proxy
virtual SG::DataProxy * proxy(const void *const pTransient) const override
Get a proxy referencing a given transient object.
Definition: TestStore.cxx:122
ClassID_traits::ID
static const CLID & ID()
the CLID of T
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:50
SGTest::TestStore::m_mutex
mutex_t m_mutex
Definition: TestStore.h:140
lumiFormat.i
int i
Definition: lumiFormat.py:92
SGTest::TestStore::m_boundHandles
std::vector< IResetable * > m_boundHandles
Definition: TestStore.h:133
CalibCoolCompareRT.up
up
Definition: CalibCoolCompareRT.py:109
SGTest::TestStore::m_tmap
tmap_t m_tmap
Definition: TestStore.h:123
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
SG::DataProxy::clID
CLID clID() const
Retrieve clid.
SG::DataProxy::addRef
virtual unsigned long addRef() override final
Add reference to object.
Definition: DataProxy.cxx:313
SG::DataProxy::name
virtual const name_type & name() const override final
Retrieve data object key == string.
SG::DataProxy::setAlias
void setAlias(const std::string &key)
Add a new proxy alias.
SG::DataProxy::setTransientID
void setTransientID(CLID id)
Add a new transient ID.
CalibCoolCompareRT.nm
nm
Definition: CalibCoolCompareRT.py:110
SGTest::TestStore::ATLAS_THREAD_SAFE
SG::StringPool m_stringPool ATLAS_THREAD_SAFE
Definition: TestStore.h:131
SG::SourceID
std::string SourceID
Definition: AthenaKernel/AthenaKernel/SourceID.h:23
SG::DataProxy::setConst
void setConst()
Mark this object as const.
Definition: DataProxy.cxx:204
SGTest::TestStore::m_kmap
kmap_t m_kmap
Definition: TestStore.h:126
str
Definition: BTagTrackIpAccessor.cxx:11
python.PyAthena.obj
obj
Definition: PyAthena.py:135
SG::DataProxy
Definition: DataProxy.h:44
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37