ATLAS Offline Software
IInputRename.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
4 */
13 #ifndef ATHENAKERNEL_IINPUTRENAME_H
14 #define ATHENAKERNEL_IINPUTRENAME_H
15 
16 
17 #include "AthenaKernel/RCUObject.h"
18 #include "CxxUtils/sgkey_t.h"
19 #include "GaudiKernel/IInterface.h"
20 #include <unordered_map>
21 
22 
23 namespace Athena {
24 
25 
36  : virtual public IInterface
37 {
38 public:
40  struct Rename
41  {
43  std::string m_key;
44  };
47 
49 
50 
56  virtual const InputRenameRCU_t* inputRenameMap() const = 0;
57 };
58 
59 
60 } // namespace Athena
61 
62 
63 #endif // not ATHENAKERNEL_IINPUTRENAME_H
Athena::RCUObject
Wrapper object controlled by RCU synchonization.
Definition: RCUObject.h:322
RCUObject.h
read-copy-update (RCU) style synchronization for Athena.
Athena::IInputRename::Rename
Type of the input rename map: sgkey_t -> sgkey_t.
Definition: IInputRename.h:41
Athena::IInputRename
Interface to retrieve input rename map.
Definition: IInputRename.h:37
Athena::IInputRename::Rename::m_sgkey
SG::sgkey_t m_sgkey
Definition: IInputRename.h:42
Athena::IInputRename::DeclareInterfaceID
DeclareInterfaceID(IInputRename, 1, 0)
Athena::IInputRename::Rename::m_key
std::string m_key
Definition: IInputRename.h:43
Athena
Some weak symbol referencing magic...
Definition: AthLegacySequence.h:21
SG::sgkey_t
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
Definition: CxxUtils/CxxUtils/sgkey_t.h:32
sgkey_t.h
Define the type used for hashed StoreGate key+CLID pairs.
Athena::IInputRename::InputRenameRCU_t
RCUObject< InputRenameMap_t > InputRenameRCU_t
Definition: IInputRename.h:46
Athena::IInputRename::inputRenameMap
virtual const InputRenameRCU_t * inputRenameMap() const =0
Retrieve a pointer to the input rename map.
SG::SGKeyMap
std::unordered_map< sgkey_t, T > SGKeyMap
A map using sgkey_t as a key.
Definition: CxxUtils/CxxUtils/sgkey_t.h:93
Athena::IInputRename::InputRenameMap_t
SG::SGKeyMap< Rename > InputRenameMap_t
Definition: IInputRename.h:45