38 msg() <<
"CaloSinCosLoader started loading data via ID. ID = " << cscTarget.
id() << std::endl;
42 msg() <<
"Loading CaloSinCos " << cscTarget.
id() << std::endl;
44 coral::ITable& table =
m_session.nominalSchema().tableHandle(
"L1_CALO_SIN_COS");
45 coral::IQuery*
query = table.newQuery();
46 query->setRowCacheSize( 5 );
49 std::string condition =
"L1CSC_ID = :l1cscid";
52 coral::AttributeList boundvars;
53 boundvars.extend<
int>(
"l1cscid");
54 boundvars[0].data<
int>() = (
int)cscTarget.
id();
56 query->setCondition( condition, boundvars );
59 coral::AttributeList attList;
60 attList.extend<
int>(
"L1CSC_VERSION" );
61 attList.extend<std::string>(
"L1CSC_NAME" );
62 attList.extend<
int>(
"L1CSC_VAL1" );
63 attList.extend<
int>(
"L1CSC_VAL2" );
64 attList.extend<
int>(
"L1CSC_VAL3" );
65 attList.extend<
int>(
"L1CSC_VAL4" );
66 attList.extend<
int>(
"L1CSC_VAL5" );
67 attList.extend<
int>(
"L1CSC_VAL6" );
68 attList.extend<
int>(
"L1CSC_VAL7" );
69 attList.extend<
int>(
"L1CSC_VAL8" );
70 attList.extend<
int>(
"L1CSC_ETA_MIN" );
71 attList.extend<
int>(
"L1CSC_ETA_MAX" );
72 attList.extend<
int>(
"L1CSC_PHI_MIN" );
73 attList.extend<
int>(
"L1CSC_PHI_MAX" );
74 query->defineOutput(attList);
76 query->addToOutputList(
"L1CSC_VERSION" );
77 query->addToOutputList(
"L1CSC_NAME" );
78 query->addToOutputList(
"L1CSC_VAL1" );
79 query->addToOutputList(
"L1CSC_VAL2" );
80 query->addToOutputList(
"L1CSC_VAL3" );
81 query->addToOutputList(
"L1CSC_VAL4" );
82 query->addToOutputList(
"L1CSC_VAL5" );
83 query->addToOutputList(
"L1CSC_VAL6" );
84 query->addToOutputList(
"L1CSC_VAL7" );
85 query->addToOutputList(
"L1CSC_VAL8" );
86 query->addToOutputList(
"L1CSC_ETA_MIN" );
87 query->addToOutputList(
"L1CSC_ETA_MAX" );
88 query->addToOutputList(
"L1CSC_PHI_MIN" );
89 query->addToOutputList(
"L1CSC_PHI_MAX" );
91 query->addToOrderList(
"L1CSC_ID" );
93 coral::ICursor& cursor =
query->execute();
95 if ( ! cursor.next() ) {
96 msg() <<
"CaloSinCosLoader >> No such deadtime exists " << cscTarget.
id() << std::endl;
99 throw std::runtime_error(
"CaloSinCosLoader >> CaloSinCos not available" );
102 const coral::AttributeList& row = cursor.currentRow();
103 std::string
name = row[
"L1CSC_NAME"].data<std::string>();
104 int version = row[
"L1CSC_VERSION"].data<
int>();
105 int val1 = row[
"L1CSC_VAL1"].data<
int>();
106 int val2 = row[
"L1CSC_VAL2"].data<
int>();
107 int val3 = row[
"L1CSC_VAL3"].data<
int>();
108 int val4 = row[
"L1CSC_VAL4"].data<
int>();
109 int val5 = row[
"L1CSC_VAL5"].data<
int>();
110 int val6 = row[
"L1CSC_VAL6"].data<
int>();
111 int val7 = row[
"L1CSC_VAL7"].data<
int>();
112 int val8 = row[
"L1CSC_VAL8"].data<
int>();
113 int eta_min = row[
"L1CSC_ETA_MIN"].data<
int>();
114 int eta_max = row[
"L1CSC_ETA_MAX"].data<
int>();
115 int phi_min = row[
"L1CSC_PHI_MIN"].data<
int>();
116 int phi_max = row[
"L1CSC_PHI_MAX"].data<
int>();
118 if ( cursor.next() ) {
119 msg() <<
"CaloSinCosLoader >> More than one CaloSinCos exists "
120 << cscTarget.
id() << std::endl;
123 throw std::runtime_error(
"CaloSinCosLoader >> CaloSinCos not available" );
145 }
catch(
const coral::SchemaException& e ) {
146 msg() <<
"CaloSinCosLoader >> SchemaException: "
147 << e.what() << std::endl;
150 }
catch(
const std::exception& e ) {
151 msg() <<
"CaloSinCosLoader >> Standard C++ exception: " << e.what() << std::endl;
155 msg() <<
"CaloSinCosLoader >> unknown C++ exception" << std::endl;