ATLAS Offline Software
Loading...
Searching...
No Matches
DataHeaderForm_p6 Class Reference

This class provides storage for the constant fields of the persistent DataHeader class. More...

#include <DataHeader_p6.h>

Collaboration diagram for DataHeaderForm_p6:

Classes

struct  DbRecord
struct  ObjRecord

Public Types

enum  DHVersions { DHverFormRef = 600 }
using sgkey_t = SG::sgkey_t

Public Member Functions

 DataHeaderForm_p6 ()
unsigned int insertDb (const DbRecord &rec)
std::size_t sizeDb () const
Guid getDbGuid (unsigned int index) const
unsigned int getDbTech (unsigned int index) const
unsigned int insertObj (const ObjRecord &rec, const std::vector< std::string > &alias=std::vector< std::string >(), bool doAliasFiletering=true, const std::vector< unsigned int > &symLinks=std::vector< unsigned int >(), const std::vector< sgkey_t > &hashes=std::vector< sgkey_t >())
std::size_t sizeObj () const
const std::string & getObjContainer (unsigned int index) const
const std::string & getObjKey (unsigned int index) const
unsigned int getObjType (unsigned int index) const
const GuidgetObjClassId (unsigned int index) const
long long getObjOid1 (unsigned int index) const
const std::vector< std::string > & getObjAlias (unsigned int index) const
const std::vector< unsigned int > & getObjSymLinks (unsigned int index) const
const std::vector< sgkey_t > & getObjHashes (unsigned int index) const
bool isModified () const
void clearModified ()
void setToken (const std::string &tok)
const std::string & getToken () const
void resize (unsigned int size)
const std::string & getProcessTag () const
void setProcessTag (const std::string &tag)
unsigned version () const
void setVersion (const DHVersions ver)
 change version if writing backward compatible format

Private Attributes

std::vector< DbRecordm_dbRecords
std::vector< ObjRecordm_objRecords
std::vector< std::vector< std::string > > m_objAlias
std::vector< std::vector< unsigned int > > m_objSymLinks
std::vector< std::vector< sgkey_t > > m_objHashes
unsigned m_version { DHverFormRef }
 Subversion of DHForm_p6 for small changes of data encoding.
std::string m_processTag
 DataHeader SG Key.
bool m_modified { true }
 indicates that the last event was somehow different and a new DHForm needs to be written
std::string m_token
 Reference to self in the persistent storage.

Friends

class DataHeaderCnv_p6

Detailed Description

This class provides storage for the constant fields of the persistent DataHeader class.

Definition at line 26 of file DataHeader_p6.h.

Member Typedef Documentation

◆ sgkey_t

Definition at line 30 of file DataHeader_p6.h.

Member Enumeration Documentation

◆ DHVersions

Enumerator
DHverFormRef 

Definition at line 49 of file DataHeader_p6.h.

49{ DHverFormRef = 600 };

Constructor & Destructor Documentation

◆ DataHeaderForm_p6()

DataHeaderForm_p6::DataHeaderForm_p6 ( )
inline

Definition at line 54 of file DataHeader_p6.h.

54{}

Member Function Documentation

◆ clearModified()

void DataHeaderForm_p6::clearModified ( )

Definition at line 113 of file DataHeader_p6.cxx.

113 {
114 m_modified = false;
115}
bool m_modified
indicates that the last event was somehow different and a new DHForm needs to be written

◆ getDbGuid()

Guid DataHeaderForm_p6::getDbGuid ( unsigned int index) const

Definition at line 32 of file DataHeader_p6.cxx.

32 {
33 return m_dbRecords[index].fid;
34}
std::vector< DbRecord > m_dbRecords
str index
Definition DeMoScan.py:362

◆ getDbTech()

unsigned int DataHeaderForm_p6::getDbTech ( unsigned int index) const

Definition at line 36 of file DataHeader_p6.cxx.

36 {
37 return m_dbRecords[index].tech;
38}

◆ getObjAlias()

const std::vector< std::string > & DataHeaderForm_p6::getObjAlias ( unsigned int index) const

Definition at line 95 of file DataHeader_p6.cxx.

95 {
96 return m_objAlias[index];
97}
std::vector< std::vector< std::string > > m_objAlias

◆ getObjClassId()

const Guid & DataHeaderForm_p6::getObjClassId ( unsigned int index) const

Definition at line 91 of file DataHeader_p6.cxx.

91 {
92 return m_objRecords[index].guid;
93}
std::vector< ObjRecord > m_objRecords

◆ getObjContainer()

const std::string & DataHeaderForm_p6::getObjContainer ( unsigned int index) const

Definition at line 79 of file DataHeader_p6.cxx.

79 {
80 return m_objRecords[index].cont;
81}

◆ getObjHashes()

const std::vector< DataHeaderForm_p6::sgkey_t > & DataHeaderForm_p6::getObjHashes ( unsigned int index) const

Definition at line 105 of file DataHeader_p6.cxx.

105 {
106 return(m_objHashes[index]);
107}
std::vector< std::vector< sgkey_t > > m_objHashes

◆ getObjKey()

const std::string & DataHeaderForm_p6::getObjKey ( unsigned int index) const

Definition at line 83 of file DataHeader_p6.cxx.

83 {
84 return m_objRecords[index].key;
85}

◆ getObjOid1()

long long DataHeaderForm_p6::getObjOid1 ( unsigned int index) const
inline

Definition at line 70 of file DataHeader_p6.h.

70{ return m_objRecords[index].oid1; }

◆ getObjSymLinks()

const std::vector< unsigned int > & DataHeaderForm_p6::getObjSymLinks ( unsigned int index) const

Definition at line 100 of file DataHeader_p6.cxx.

100 {
101 return m_objSymLinks[index];
102}
std::vector< std::vector< unsigned int > > m_objSymLinks

◆ getObjType()

unsigned int DataHeaderForm_p6::getObjType ( unsigned int index) const

Definition at line 87 of file DataHeader_p6.cxx.

87 {
88 return m_objRecords[index].clid;
89}

◆ getProcessTag()

const std::string & DataHeaderForm_p6::getProcessTag ( ) const
inline

Definition at line 79 of file DataHeader_p6.h.

79{ return m_processTag; }
std::string m_processTag
DataHeader SG Key.

◆ getToken()

const std::string & DataHeaderForm_p6::getToken ( ) const

Definition at line 122 of file DataHeader_p6.cxx.

122 {
123 return m_token;
124}
std::string m_token
Reference to self in the persistent storage.

◆ insertDb()

unsigned int DataHeaderForm_p6::insertDb ( const DbRecord & rec)

Definition at line 15 of file DataHeader_p6.cxx.

15 {
16 unsigned int index = 0U;
17 for (std::vector<DbRecord>::const_iterator iter = m_dbRecords.begin(), last = m_dbRecords.end();
18 iter != last; ++iter, ++index) {
19 if (*iter == rec) break;
20 }
21 if (index == m_dbRecords.size()) {
22 m_dbRecords.push_back(rec);
23 m_modified = true;
24 }
25 return(index);
26}

◆ insertObj()

unsigned int DataHeaderForm_p6::insertObj ( const ObjRecord & rec,
const std::vector< std::string > & alias = std::vector<std::string>(),
bool doAliasFiletering = true,
const std::vector< unsigned int > & symLinks = std::vector<unsigned int>(),
const std::vector< sgkey_t > & hashes = std::vector<sgkey_t>() )

Definition at line 40 of file DataHeader_p6.cxx.

44{
45 unsigned int index = 0U;
46 for (std::vector<ObjRecord>::const_iterator iter = m_objRecords.begin(), last = m_objRecords.end();
47 iter != last; ++iter, ++index) {
48 if (*iter == rec) break;
49 }
50 if (index != m_objRecords.size()) {
51 // found matching object record, check if all the info is the same
52 if( m_objSymLinks[index] != symLinks ) {
53 m_objSymLinks[index] = symLinks;
54 m_modified = true;
55 }
56 if( m_objHashes[index] != hashes ) {
58 m_modified = true;
59 }
60 if( (!doAliasFiltering or m_modified) and m_objAlias[index] != aliases ) {
61 m_objAlias[index] = aliases;
62 m_modified = true;
63 }
64 return index;
65 }
66 // enter a new record
67 m_objRecords.push_back( rec );
68 m_objAlias.push_back( aliases );
69 m_objSymLinks.push_back( symLinks );
70 m_objHashes.push_back( hashes );
71 m_modified = true;
72 return m_objRecords.size() - 1;
73}

◆ isModified()

bool DataHeaderForm_p6::isModified ( ) const

Definition at line 109 of file DataHeader_p6.cxx.

109 {
110 return m_modified;
111}

◆ resize()

void DataHeaderForm_p6::resize ( unsigned int size)

Definition at line 126 of file DataHeader_p6.cxx.

126 {
127 m_objRecords.reserve( size );
128 m_objAlias.reserve( size );
129 m_objSymLinks.reserve( size );
130 m_objHashes.reserve( size );
131}

◆ setProcessTag()

void DataHeaderForm_p6::setProcessTag ( const std::string & tag)
inline

◆ setToken()

void DataHeaderForm_p6::setToken ( const std::string & tok)

Definition at line 117 of file DataHeader_p6.cxx.

118{
119 m_token = tok;
120}

◆ setVersion()

void DataHeaderForm_p6::setVersion ( const DHVersions ver)
inline

change version if writing backward compatible format

Definition at line 83 of file DataHeader_p6.h.

83{ m_version = ver; }
unsigned m_version
Subversion of DHForm_p6 for small changes of data encoding.

◆ sizeDb()

std::size_t DataHeaderForm_p6::sizeDb ( ) const

Definition at line 28 of file DataHeader_p6.cxx.

28 {
29 return(m_dbRecords.size());
30}

◆ sizeObj()

std::size_t DataHeaderForm_p6::sizeObj ( ) const

Definition at line 75 of file DataHeader_p6.cxx.

75 {
76 return(m_objRecords.size());
77}

◆ version()

unsigned DataHeaderForm_p6::version ( ) const
inline

Definition at line 81 of file DataHeader_p6.h.

81{ return m_version; }

◆ DataHeaderCnv_p6

friend class DataHeaderCnv_p6
friend

Definition at line 27 of file DataHeader_p6.h.

Member Data Documentation

◆ m_dbRecords

std::vector<DbRecord> DataHeaderForm_p6::m_dbRecords
private

Definition at line 86 of file DataHeader_p6.h.

◆ m_modified

bool DataHeaderForm_p6::m_modified { true }
private

indicates that the last event was somehow different and a new DHForm needs to be written

Definition at line 99 of file DataHeader_p6.h.

99{ true };

◆ m_objAlias

std::vector<std::vector<std::string> > DataHeaderForm_p6::m_objAlias
private

Definition at line 88 of file DataHeader_p6.h.

◆ m_objHashes

std::vector<std::vector<sgkey_t> > DataHeaderForm_p6::m_objHashes
private

Definition at line 90 of file DataHeader_p6.h.

◆ m_objRecords

std::vector<ObjRecord> DataHeaderForm_p6::m_objRecords
private

Definition at line 87 of file DataHeader_p6.h.

◆ m_objSymLinks

std::vector<std::vector<unsigned int> > DataHeaderForm_p6::m_objSymLinks
private

Definition at line 89 of file DataHeader_p6.h.

◆ m_processTag

std::string DataHeaderForm_p6::m_processTag
private

DataHeader SG Key.

Definition at line 95 of file DataHeader_p6.h.

◆ m_token

std::string DataHeaderForm_p6::m_token
private

Reference to self in the persistent storage.

Definition at line 101 of file DataHeader_p6.h.

◆ m_version

unsigned DataHeaderForm_p6::m_version { DHverFormRef }
private

Subversion of DHForm_p6 for small changes of data encoding.

Definition at line 93 of file DataHeader_p6.h.

93{ DHverFormRef };

The documentation for this class was generated from the following files: