1 #ifndef RecoLuminosity_LumiProducer_TRGDummy2DB_h
2 #define RecoLuminosity_LumiProducer_TRGDummy2DB_h
3 #include "RelationalAccess/ConnectionService.h"
4 #include "RelationalAccess/ISessionProxy.h"
5 #include "RelationalAccess/ITransaction.h"
6 #include "RelationalAccess/ISchema.h"
7 #include "RelationalAccess/ITable.h"
8 #include "RelationalAccess/ITableDataEditor.h"
9 #include "RelationalAccess/IBulkOperation.h"
10 #include "RelationalAccess/ITypeConverter.h"
11 #include "CoralBase/AttributeList.h"
12 #include "CoralBase/AttributeSpecification.h"
13 #include "CoralBase/Attribute.h"
14 #include "CoralBase/Exception.h"
41 coral::ConnectionService*
svc=
new coral::ConnectionService;
47 coral::ISessionProxy*
session=svc->connect(
m_dest,coral::Update);
48 coral::ITypeConverter& tpc=session->typeConverter();
49 tpc.setCppTypeForSqlType(
"unsigned int",
"NUMBER(7)");
50 tpc.setCppTypeForSqlType(
"unsigned int",
"NUMBER(10)");
51 tpc.setCppTypeForSqlType(
"unsigned long long",
"NUMBER(20)");
53 unsigned int totalcmsls=32;
54 session->transaction().start(
false);
55 coral::ISchema&
schema=session->nominalSchema();
58 coral::AttributeList trgData;
59 trgData.extend(
"TRG_ID",
typeid(
unsigned long long));
60 trgData.extend(
"RUNNUM",
typeid(
unsigned int));
61 trgData.extend(
"CMSLSNUM",
typeid(
unsigned int));
62 trgData.extend(
"BITNUM",
typeid(
unsigned int));
64 trgData.extend(
"TRGCOUNT",
typeid(
unsigned int));
65 trgData.extend(
"DEADTIME",
typeid(
unsigned long long));
66 trgData.extend(
"PRESCALE",
typeid(
unsigned int));
69 unsigned long long& trg_id=trgData[
"TRG_ID"].data<
unsigned long long>();
70 unsigned int& trgrunnum=trgData[
"RUNNUM"].data<
unsigned int>();
71 unsigned int&
cmslsnum=trgData[
"CMSLSNUM"].data<
unsigned int>();
72 unsigned int& bitnum=trgData[
"BITNUM"].data<
unsigned int>();
74 unsigned int&
count=trgData[
"TRGCOUNT"].data<
unsigned int>();
75 unsigned long long& deadtime=trgData[
"DEADTIME"].data<
unsigned long long>();
76 unsigned int& prescale=trgData[
"PRESCALE"].data<
unsigned int>();
78 for(
unsigned int i=1;
i<=totalcmsls;++
i){
95 trgInserter->processNextIteration();
101 std::cout<<
"database problem "<<er.what()<<std::endl;
102 session->transaction().rollback();
108 session->transaction().commit();
static const std::string trgTableName()
TRGDummy2DB(const std::string &dest)
virtual const std::string sourceType() const
const unsigned int N_TRGTECHBIT
void setAuthentication(const std::string &authPath)
virtual const std::string dataType() const
unsigned long long generateNextIDForTable(const std::string &tableName, unsigned int interval=1)
virtual unsigned long long retrieveData(unsigned int)
#define DEFINE_EDM_PLUGIN(factory, type, name)
const unsigned int N_TRGALGOBIT