#include <CalibHeadOperations.h>
Definition at line 21 of file CalibHeadOperations.h.
◆ CalibHeadOperations()
◆ ~CalibHeadOperations()
| MuonCalib::CalibHeadOperations::~CalibHeadOperations |
( |
| ) |
|
|
virtual |
◆ GetDataConnection()
| CalibDbConnection * MuonCalib::CalibHeadOperations::GetDataConnection |
( |
int | head_id = -1, |
|
|
bool | write = false, |
|
|
const std::string & | writer_connection = "", |
|
|
const std::string & | writer_user = "", |
|
|
const std::string & | writer_password = "" ) |
Definition at line 90 of file CalibHeadOperations.cxx.
91 {
93 if (head_id < 0) return nullptr;
94 try {
97 query->setRowCacheSize(1);
98 query->addToTableList(
"MDT_HEAD");
99 query->addToTableList(
"MDT_DATA_SCHEMA");
100 query->addToOutputList(
"MDT_DATA_SCHEMA.SCHEMA_NAME",
"SCHEMA");
101 query->addToOutputList(
"MDT_DATA_SCHEMA.WRITER_ACCOUNT",
"WRITER_ACCOUNT");
102 query->addToOutputList(
"MDT_DATA_SCHEMA.ACTIVE",
"ACTIVE");
103 query->addToOutputList(
"MDT_DATA_SCHEMA.ARCHIVED",
"ARCHIVED");
104 query->addToOutputList(
"MDT_DATA_SCHEMA.ARCHIVE_CONNECTION_STRING",
"ARCHIVE_CONNECTION_STRING");
105 std::string
condition =
"MDT_HEAD.DATA_SCHEMA=MDT_DATA_SCHEMA.SCHEMA_NAME and MDT_HEAD.HEAD_ID=:hid";
106 coral::AttributeList conditionData;
107 conditionData.extend<int>("hid");
108 conditionData["hid"].data<int>() = head_id;
109 query->setCondition(condition, conditionData);
113 log << MSG::WARNING <<
"No information about head_id=" <<
head_id <<
" found!" <<
endmsg;
114 return nullptr;
115 }
116 const coral::AttributeList&
al =
cursor.currentRow();
119 log << MSG::WARNING <<
"Can only write to the active schema" <<
endmsg;
120 return nullptr;
121 }
124 }
125 if (!write) {
126 CalibDbConnection*
conn =
new CalibDbConnection(
m_meta_connection->GetConnectionString(),
al[
"SCHEMA"].data<std::string>());
129 conn->SetLogin(user, passwd);
131 }
132 CalibDbConnection* ret =
new CalibDbConnection(writer_connection,
al[
"SCHEMA"].
data<std::string>());
134 ret->SetLogin(writer_user, writer_password);
135 return ret;
136 } catch (coral::SchemaException& e) {
138 log << MSG::WARNING <<
"Schema exception : " <<
e.what() <<
endmsg;
139 return nullptr;
140 }
141 }
char data[hepevt_bytes_allocation_ATLAS]
IMessageSvc * getMessageSvc(bool quiet=false)
◆ GetHeadInfo()
| bool MuonCalib::CalibHeadOperations::GetHeadInfo |
( |
int & | head_id, |
|
|
int & | lowrun, |
|
|
int & | uprun, |
|
|
int & | lowtime, |
|
|
int & | uptime ) |
Definition at line 51 of file CalibHeadOperations.cxx.
51 {
53 if (head_id < 0) {
55 log << MSG::WARNING <<
"CalibHeadOperations::GetHeadInfo: Cannot get latest head id" <<
endmsg;
56 return -1;
57 }
58 try {
61 query->addToTableList(
"MDT_HEAD");
62 query->addToOutputList(
"LOWRUN");
63 query->addToOutputList(
"UPRUN");
64 query->addToOutputList(
"LOWTIME");
65 query->addToOutputList(
"UPTIME");
67 coral::AttributeList conditionData;
68 conditionData.extend<int>("hid");
69 conditionData["hid"].data<int>() = head_id;
70 query->setCondition(condition, conditionData);
74 log << MSG::WARNING <<
"No information about head_id=" <<
head_id <<
" found!" <<
endmsg;
75 return false;
76 }
77 const coral::AttributeList&
al =
cursor.currentRow();
79 uprun =
al[
"UPRUN"].data<
int>();
82 return true;
83 } catch (coral::SchemaException& e) {
85 log << MSG::WARNING <<
"Schema exception : " <<
e.what() <<
endmsg;
86 return false;
87 }
88 }
◆ GetLatestHeadId()
| int MuonCalib::CalibHeadOperations::GetLatestHeadId |
( |
| ) |
|
Definition at line 29 of file CalibHeadOperations.cxx.
29 {
30 try {
33 query->setRowCacheSize(1);
34 query->addToTableList(
"MDT_HEAD");
35 query->addToOutputList(
"max(HEAD_ID)",
"max_head_id");
39 log << MSG::WARNING <<
"Query for head_id failed!" <<
endmsg;
40 return -1;
41 }
42 const coral::AttributeList&
al =
cursor.currentRow();
43 return static_cast<int>(
al[
"max_head_id"].data<
double>());
44 } catch (coral::SchemaException& e) {
46 log << MSG::WARNING <<
"Schema exception : " <<
e.what() <<
endmsg;
47 return -1;
48 }
49 }
◆ m_meta_connection
The documentation for this class was generated from the following files: