ATLAS Offline Software
IOVPayloadContainerCnv_p1.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IOVDBDATAMODEL_IOVPAYLOADCONTAINERCNV_P1_H
6 #define IOVDBDATAMODEL_IOVPAYLOADCONTAINERCNV_P1_H
7 
8 
9 //<<<<<< INCLUDES >>>>>>
11 #include "CoralBase/AttributeList.h"
14 
15 class MsgStream;
16 class AttrListIndexes;
17 
18 class IOVPayloadContainerCnv_p1 : public T_AthenaPoolTPCnvBase<IOVPayloadContainer, IOVPayloadContainer_p1> {
19 public:
21  virtual void persToTrans(const IOVPayloadContainer_p1* persObj,
22  IOVPayloadContainer* transObj, MsgStream &log);
23  virtual void transToPers(const IOVPayloadContainer* transObj,
24  IOVPayloadContainer_p1* persObj, MsgStream &log);
25 private:
26  void fillPersAttrSpec(const IOVPayloadContainer* transObj,
27  IOVPayloadContainer_p1* persObj, MsgStream &log);
28 
29  void fillAttributeTypeMap();
30 
31  void fillAttributeData(unsigned int attrName,
32  unsigned int attrType,
33  const coral::Attribute& attr,
34  IOVPayloadContainer_p1* persObj,
35  MsgStream & log);
36 
37  void fillAttributeData(const IOVPayloadContainer_p1* persObj,
38  const AttrListIndexes& index,
39  const std::string& name,
40  coral::AttributeList& attrList,
41  MsgStream & log);
42 
43 
44  // AttributeList map from attribute name to type index
45  typedef std::map<std::string, unsigned int>::value_type attrNameMapValue_t;
46  std::map<std::string, unsigned int> m_attrNameMap;
47 
48  // Attribute types
49  std::map<std::string, unsigned int> m_attributeTypeMap;
50  std::vector<std::string> m_attributeTypes;
51 
53 
54 };
55 
56 #endif
IOVPayloadContainer.h
This class is a container for the payload of conditions data. It is intended to be used to store cond...
AttrListIndexes
Indexes to attribute name, type name and object value for the persistent storage of an attribute list...
Definition: AttrListIndexes.h:20
index
Definition: index.py:1
TPConverterBase
Definition: TPConverter.h:738
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
IOVPayloadContainer_p1.h
This class is the persistent version of a container for the payload of conditions data....
IOVPayloadContainerCnv_p1::persToTrans
virtual void persToTrans(const IOVPayloadContainer_p1 *persObj, IOVPayloadContainer *transObj, MsgStream &log)
Definition: IOVPayloadContainerCnv_p1.cxx:17
IOVPayloadContainerCnv_p1::attrNameMapValue_t
std::map< std::string, unsigned int >::value_type attrNameMapValue_t
Definition: IOVPayloadContainerCnv_p1.h:45
T_AthenaPoolTPConverter.h
IOVPayloadContainerCnv_p1
Definition: IOVPayloadContainerCnv_p1.h:18
IOVPayloadContainerCnv_p1::fillPersAttrSpec
void fillPersAttrSpec(const IOVPayloadContainer *transObj, IOVPayloadContainer_p1 *persObj, MsgStream &log)
Definition: IOVPayloadContainerCnv_p1.cxx:342
IOVPayloadContainerCnv_p1::m_objIndexOffset
unsigned int m_objIndexOffset[IOVPayloadContainer_p1::ATTR_TIME_STAMP+1]
Definition: IOVPayloadContainerCnv_p1.h:52
IOVPayloadContainer
This class is a container for the payload of conditions data. It is intended to be used to store cond...
Definition: IOVPayloadContainer.h:35
IOVPayloadContainerCnv_p1::fillAttributeData
void fillAttributeData(unsigned int attrName, unsigned int attrType, const coral::Attribute &attr, IOVPayloadContainer_p1 *persObj, MsgStream &log)
Definition: IOVPayloadContainerCnv_p1.cxx:451
IOVPayloadContainer_p1
Definition: IOVPayloadContainer_p1.h:27
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IOVPayloadContainerCnv_p1::IOVPayloadContainerCnv_p1
IOVPayloadContainerCnv_p1()
Definition: IOVPayloadContainerCnv_p1.cxx:12
IOVPayloadContainerCnv_p1::m_attributeTypes
std::vector< std::string > m_attributeTypes
Definition: IOVPayloadContainerCnv_p1.h:50
python.PoolAttributeHelper.attrName
attrName
Definition: PoolAttributeHelper.py:100
IOVPayloadContainerCnv_p1::m_attrNameMap
std::map< std::string, unsigned int > m_attrNameMap
Definition: IOVPayloadContainerCnv_p1.h:46
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
IOVPayloadContainerCnv_p1::fillAttributeTypeMap
void fillAttributeTypeMap()
Definition: IOVPayloadContainerCnv_p1.cxx:406
IOVPayloadContainerCnv_p1::m_attributeTypeMap
std::map< std::string, unsigned int > m_attributeTypeMap
Definition: IOVPayloadContainerCnv_p1.h:49
IOVPayloadContainer_p1::ATTR_TIME_STAMP
@ ATTR_TIME_STAMP
Definition: IOVPayloadContainer_p1.h:48
IOVPayloadContainerCnv_p1::transToPers
virtual void transToPers(const IOVPayloadContainer *transObj, IOVPayloadContainer_p1 *persObj, MsgStream &log)
Definition: IOVPayloadContainerCnv_p1.cxx:213