ATLAS Offline Software
AuxDiscoverySvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AUXDISCOVERYSVC_H
6 #define AUXDISCOVERYSVC_H
7 
13 #include "GaudiKernel/StatusCode.h"
14 
16 #include "DataModelRoot/RootType.h"
17 
18 #include <string>
19 
20 // Forward declarations
21 class Guid;
23 class IAthenaIPCTool;
24 class AthenaPoolAuxStore;
25 namespace SG {
26  class IAuxStoreIO;
27  class IAuxStoreHolder;
28 }
29 
34 public:
36 
37  bool getAuxStore(void* obj, const Guid& classId, const std::string& contId);
38 
39  bool setData(SG::auxid_t auxid, void* data, const RootType& type);
40 
41  bool setAuxStore();
42 
43  SG::auxid_t getAuxID(const std::string& attrName, const std::string& elemName, const std::string& typeName);
44 
45  SG::auxid_set_t getAuxIDs(const void* obj, const Guid& classId, const std::string& contId);
46 
47  const void* getData(SG::auxid_t auxid);
48 
49  const std::type_info* getType(SG::auxid_t auxid);
50 
51  std::string getAttrName(SG::auxid_t auxid);
52 
53  std::string getTypeName(SG::auxid_t auxid);
54 
55  std::string getElemName(SG::auxid_t auxid);
56 
58  StatusCode receiveStore(const IAthenaSerializeSvc* serSvc, IAthenaIPCTool* ipcTool, void* obj, int num = 0);
59 
62  IAthenaIPCTool* ipcTool,
63  const void* obj,
64  const Guid& classId,
65  const std::string& contName,
66  int num = 0);
67 
68 private: // data
72 };
73 
74 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
AuxDiscoverySvc::getElemName
std::string getElemName(SG::auxid_t auxid)
Definition: AuxDiscoverySvc.cxx:159
AuxDiscoverySvc::getAttrName
std::string getAttrName(SG::auxid_t auxid)
Definition: AuxDiscoverySvc.cxx:151
AuxDiscoverySvc::sendStore
StatusCode sendStore(const IAthenaSerializeSvc *serSvc, IAthenaIPCTool *ipcTool, const void *obj, const Guid &classId, const std::string &contName, int num=0)
Send dynamic aux store variables to streaming tool.
Definition: AuxDiscoverySvc.cxx:208
AuxDiscoverySvc::AuxDiscoverySvc
AuxDiscoverySvc()
Definition: AuxDiscoverySvc.h:35
AuxDiscoverySvc::setData
bool setData(SG::auxid_t auxid, void *data, const RootType &type)
Definition: AuxDiscoverySvc.cxx:65
IAthenaSerializeSvc
Definition: IAthenaSerializeSvc.h:13
SG::IAuxStoreIO
Interface providing I/O for a generic auxiliary store.
Definition: IAuxStoreIO.h:44
AuxDiscoverySvc::setAuxStore
bool setAuxStore()
Definition: AuxDiscoverySvc.cxx:85
AuxDiscoverySvc::getData
const void * getData(SG::auxid_t auxid)
Definition: AuxDiscoverySvc.cxx:137
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
AuxDiscoverySvc::m_store
const SG::IAuxStoreIO * m_store
Definition: AuxDiscoverySvc.h:69
AuxDiscoverySvc::receiveStore
StatusCode receiveStore(const IAthenaSerializeSvc *serSvc, IAthenaIPCTool *ipcTool, void *obj, int num=0)
Receive dynamic aux store variables from streaming tool.
Definition: AuxDiscoverySvc.cxx:162
IAthenaIPCTool
Definition: IAthenaIPCTool.h:14
AuxDiscoverySvc::m_storeHolder
SG::IAuxStoreHolder * m_storeHolder
Definition: AuxDiscoverySvc.h:71
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AuxDiscoverySvc::m_storeInt
AthenaPoolAuxStore * m_storeInt
Definition: AuxDiscoverySvc.h:70
AuxDiscoverySvc::getAuxID
SG::auxid_t getAuxID(const std::string &attrName, const std::string &elemName, const std::string &typeName)
Definition: AuxDiscoverySvc.cxx:93
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
AuxDiscoverySvc::getAuxStore
bool getAuxStore(void *obj, const Guid &classId, const std::string &contId)
Definition: AuxDiscoverySvc.cxx:39
AuxTypes.h
Basic definitions for auxiliary types.
AuxDiscoverySvc::getType
const std::type_info * getType(SG::auxid_t auxid)
Definition: AuxDiscoverySvc.cxx:144
python.PoolAttributeHelper.attrName
attrName
Definition: PoolAttributeHelper.py:100
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
RootType.h
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
AthenaPoolAuxStore
Definition: AuxDiscoverySvc.cxx:33
python.PyAthena.obj
obj
Definition: PyAthena.py:132
AuxDiscoverySvc::getAuxIDs
SG::auxid_set_t getAuxIDs(const void *obj, const Guid &classId, const std::string &contId)
Definition: AuxDiscoverySvc.cxx:112
SG::IAuxStoreHolder
Interface for objects taking part in direct ROOT I/O.
Definition: IAuxStoreHolder.h:36
AuxDiscoverySvc
This class provides the interface between AthenaPoolCnvSvc and AuxStore classes.
Definition: AuxDiscoverySvc.h:33
TScopeAdapter
Definition: RootType.h:119
AuxDiscoverySvc::getTypeName
std::string getTypeName(SG::auxid_t auxid)
Definition: AuxDiscoverySvc.cxx:155