ATLAS Offline Software
Classes | Public Types | Public Member Functions | Private Attributes | Friends | List of all members
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 More...
 

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. More...
 
std::string m_processTag
 DataHeader SG Key. More...
 
bool m_modified { true }
 indicates that the last event was somehow different and a new DHForm needs to be written More...
 
std::string m_token
 Reference to self in the persistent storage. More...
 

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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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; }

◆ getToken()

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

Definition at line 122 of file DataHeader_p6.cxx.

122  {
123  return m_token;
124 }

◆ 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

Definition at line 80 of file DataHeader_p6.h.

80 { m_processTag = tag; }

◆ 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; }

◆ 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; }

Friends And Related Function Documentation

◆ 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.

◆ 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.


The documentation for this class was generated from the following files:
python.root_lsr_rank.hashes
hashes
Definition: root_lsr_rank.py:34
createLinkingScheme.iter
iter
Definition: createLinkingScheme.py:62
DataHeaderForm_p6::m_objHashes
std::vector< std::vector< sgkey_t > > m_objHashes
Definition: DataHeader_p6.h:90
index
Definition: index.py:1
DataHeaderForm_p6::m_processTag
std::string m_processTag
DataHeader SG Key.
Definition: DataHeader_p6.h:95
DataHeaderForm_p6::m_dbRecords
std::vector< DbRecord > m_dbRecords
Definition: DataHeader_p6.h:86
DataHeaderForm_p6::DHverFormRef
@ DHverFormRef
Definition: DataHeader_p6.h:49
DataHeaderForm_p6::m_token
std::string m_token
Reference to self in the persistent storage.
Definition: DataHeader_p6.h:101
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Pythia8_A14_NNPDF23LO_Var1Down_Common.ver
ver
Definition: Pythia8_A14_NNPDF23LO_Var1Down_Common.py:26
DataHeaderForm_p6::m_objRecords
std::vector< ObjRecord > m_objRecords
Definition: DataHeader_p6.h:87
DataHeaderForm_p6::m_objAlias
std::vector< std::vector< std::string > > m_objAlias
Definition: DataHeader_p6.h:88
DeMoScan.index
string index
Definition: DeMoScan.py:362
DataHeaderForm_p6::m_modified
bool m_modified
indicates that the last event was somehow different and a new DHForm needs to be written
Definition: DataHeader_p6.h:99
DataHeaderForm_p6::m_objSymLinks
std::vector< std::vector< unsigned int > > m_objSymLinks
Definition: DataHeader_p6.h:89
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:23
DataHeaderForm_p6::m_version
unsigned m_version
Subversion of DHForm_p6 for small changes of data encoding.
Definition: DataHeader_p6.h:93