ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
PersistentDataModelTPCnv
src
DataHeader_p5.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
PersistentDataModelTPCnv/DataHeader_p5.h
"
6
7
#include "
CxxUtils/MD5.h
"
8
9
#include <uuid/uuid.h>
10
#include<type_traits>
11
#include <sstream>
12
13
14
static_assert
(std::is_nothrow_move_constructible<DataHeaderElement_p5>::value);
15
static_assert
(std::is_nothrow_move_constructible<DataHeaderForm_p5>::value);
16
static_assert
(std::is_nothrow_move_constructible<DataHeader_p5>::value);
17
18
DataHeaderElement_p5::DataHeaderElement_p5
() :
m_token
(),
m_oid2
(0U) {}
19
20
const
std::string&
DataHeaderElement_p5::token
()
const
{
21
return
(
m_token
);
22
}
23
24
long
long
int
DataHeaderElement_p5::oid2
()
const
{
25
return
(
m_oid2
);
26
}
27
28
29
DataHeaderForm_p5::DataHeaderForm_p5
() :
m_map
(),
m_uints
() {}
30
31
const
std::vector<std::string>&
DataHeaderForm_p5::map
()
const
{
32
return
(
m_map
);
33
}
34
35
void
DataHeaderForm_p5::insertMap
(
const
std::string& element) {
36
m_map
.push_back(element);
37
}
38
39
const
std::vector<unsigned int>&
DataHeaderForm_p5::params
(
unsigned
int
entry)
const
{
40
return
(
m_uints
[entry - 1]);
41
}
42
43
void
DataHeaderForm_p5::insertParam
(
unsigned
int
param,
unsigned
int
entry) {
44
m_uints
[entry - 1].push_back(param);
45
}
46
47
unsigned
int
DataHeaderForm_p5::size
()
const
{
48
return
(
m_uints
.size());
49
}
50
51
void
DataHeaderForm_p5::resize
(
unsigned
int
size
) {
52
m_uints
.resize(
size
);
53
}
54
55
56
DataHeader_p5::DataHeader_p5
() :
m_dataHeader
(),
m_dhFormToken
(),
m_dhFormMdx
() {}
57
58
const
std::vector<DataHeaderElement_p5>&
DataHeader_p5::elements
()
const
{
59
return
(
m_dataHeader
);
60
}
61
62
const
std::string&
DataHeader_p5::dhFormToken
()
const
{
63
return
(
m_dhFormToken
);
64
}
65
66
void
DataHeader_p5::setDhFormToken
(
const
std::string& formToken,
67
const
DataHeaderForm_p5
& dhForm)
68
{
69
m_dhFormToken
= formToken;
70
std::ostringstream stream;
71
for
(
const
std::string& s : dhForm.
map
()) {
72
stream << s <<
"\n"
;
73
}
74
for
(
unsigned
int
entry = 1; entry <= dhForm.
size
(); ++entry) {
75
for
(
unsigned
int
x
: dhForm.
params
(entry)) {
76
stream <<
x
<<
","
;
77
}
78
stream <<
"\n"
;
79
}
80
MD5
checkSum((
unsigned
char
*)stream.str().c_str(), stream.str().size());
81
uuid_t checkSumUuid;
82
checkSum.
raw_digest
((
unsigned
char
*)(&checkSumUuid));
83
char
text[37];
84
uuid_unparse_upper(checkSumUuid, text);
85
m_dhFormMdx
= text;
86
}
87
const
std::string&
DataHeader_p5::dhFormMdx
()
const
{
88
return
(
m_dhFormMdx
);
89
}
DataHeader_p5.h
This file contains the class definition for the DataHeader_p5, DataHeaderForm_p5 and DataHeaderElemen...
MD5.h
solar's public-domain MD5, wrapped for C++.
x
#define x
DataHeaderElement_p5::m_oid2
long long int m_oid2
Definition
DataHeader_p5.h:32
DataHeaderElement_p5::token
const std::string & token() const
Definition
DataHeader_p5.cxx:20
DataHeaderElement_p5::DataHeaderElement_p5
DataHeaderElement_p5()
Definition
DataHeader_p5.cxx:18
DataHeaderElement_p5::m_token
std::string m_token
Definition
DataHeader_p5.h:31
DataHeaderElement_p5::oid2
long long int oid2() const
Definition
DataHeader_p5.cxx:24
DataHeaderForm_p5
This class provides storage for the constant fields of the persistent DataHeader class.
Definition
DataHeader_p5.h:38
DataHeaderForm_p5::insertParam
void insertParam(unsigned int param, unsigned int entry)
Definition
DataHeader_p5.cxx:43
DataHeaderForm_p5::map
const std::vector< std::string > & map() const
Definition
DataHeader_p5.cxx:31
DataHeaderForm_p5::DataHeaderForm_p5
DataHeaderForm_p5()
Definition
DataHeader_p5.cxx:29
DataHeaderForm_p5::insertMap
void insertMap(const std::string &element)
Definition
DataHeader_p5.cxx:35
DataHeaderForm_p5::params
const std::vector< unsigned int > & params(unsigned int entry) const
Definition
DataHeader_p5.cxx:39
DataHeaderForm_p5::size
unsigned int size() const
Definition
DataHeader_p5.cxx:47
DataHeaderForm_p5::m_uints
std::vector< std::vector< unsigned int > > m_uints
Definition
DataHeader_p5.h:53
DataHeaderForm_p5::m_map
std::vector< std::string > m_map
Definition
DataHeader_p5.h:52
DataHeaderForm_p5::resize
void resize(unsigned int size)
Definition
DataHeader_p5.cxx:51
DataHeader_p5::elements
const std::vector< DataHeaderElement_p5 > & elements() const
Definition
DataHeader_p5.cxx:58
DataHeader_p5::dhFormMdx
const std::string & dhFormMdx() const
Definition
DataHeader_p5.cxx:87
DataHeader_p5::m_dataHeader
std::vector< DataHeaderElement_p5 > m_dataHeader
Definition
DataHeader_p5.h:72
DataHeader_p5::m_dhFormToken
std::string m_dhFormToken
Definition
DataHeader_p5.h:73
DataHeader_p5::m_dhFormMdx
std::string m_dhFormMdx
Definition
DataHeader_p5.h:74
DataHeader_p5::setDhFormToken
void setDhFormToken(const std::string &formToken, const DataHeaderForm_p5 &dhForm)
Definition
DataHeader_p5.cxx:66
DataHeader_p5::DataHeader_p5
DataHeader_p5()
Definition
DataHeader_p5.cxx:56
DataHeader_p5::dhFormToken
const std::string & dhFormToken() const
Definition
DataHeader_p5.cxx:62
MD5
Definition
MD5.h:20
MD5::raw_digest
void raw_digest(unsigned char *s) const
Definition
MD5.cxx:82
Generated on
for ATLAS Offline Software by
1.17.0