#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned int magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
struct sqlcxp
{
unsigned short fillen;
char filnam[19];
};
static const struct sqlcxp sqlfpn =
{
18,
"htofinoparoraio.pc"
};
static unsigned int sqlctx = 19912899;
static struct sqlexd {
unsigned int sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
void **sqphsv;
unsigned int *sqphsl;
int *sqphss;
void **sqpind;
int *sqpins;
unsigned int *sqparm;
unsigned int **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
unsigned int sqlcmax;
unsigned int sqlcmin;
unsigned int sqlcincr;
unsigned int sqlctimeout;
unsigned int sqlcnowait;
int sqfoff;
unsigned int sqcmod;
unsigned int sqfmod;
void *sqhstv[24];
unsigned int sqhstl[24];
int sqhsts[24];
void *sqindv[24];
int sqinds[24];
unsigned int sqharm[24];
unsigned int *sqharc[24];
unsigned short sqadto[24];
unsigned short sqtdso[24];
} sqlstm = {12,24};
extern "C" {
void sqlcxt (void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlcx2t(void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlbuft(void **, char *);
void sqlgs2t(void **, char *);
void sqlorat(void **, unsigned int *, void *);
}
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(char *, int *); }
static const char *sq0009 =
"select paddle ,slope ,offset ,delta_slope ,delta_offset ,cfd_threshold ,res_\
par1 ,res_par2 ,res_par3 ,dist_par1 ,dist_par2 ,dist_par3 ,dist_par4 ,min_leng\
th ,dist_param_type ,time_channel ,coord_pos ,adc_threshold ,adc_pedestal ,e_l\
oss_par1 ,e_loss_par2 ,e_loss_par3 ,e_loss_par4 from tofino_ana.tofino_cal_pa\
r_all where (sector=:b0 and version=:b1) ";
static const char *sq0010 =
"select row_id ,col_id ,paddle_nr from tofino_ana.tofino_shower_map_data whe\
re (vers_id=:b0 and sector_id=:b1) ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{12,4130,1,0,0,
5,0,0,1,62,0,4,123,0,0,1,0,0,1,0,2,3,0,0,
24,0,0,2,189,0,4,179,0,0,5,1,0,1,0,2,3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
59,0,0,3,192,0,4,186,0,0,5,1,0,1,0,2,3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
94,0,0,4,207,0,4,229,0,0,4,0,0,1,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,
125,0,0,5,136,0,4,244,0,0,2,0,0,1,0,2,4,0,0,2,4,0,0,
148,0,0,6,148,0,4,291,0,0,6,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,97,0,0,2,3,0,0,2,
3,0,0,
187,0,0,7,84,0,4,356,0,0,2,0,0,1,0,2,3,0,0,2,9,0,0,
210,0,0,8,98,0,4,406,0,0,2,0,0,1,0,2,3,0,0,2,9,0,0,
233,0,0,9,361,0,9,517,0,0,2,2,0,1,0,1,3,0,0,1,3,0,0,
256,0,0,9,0,0,13,518,0,0,23,0,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,
4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,3,0,0,
2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,
363,0,0,9,0,0,15,570,0,0,0,0,0,1,0,
378,0,0,10,121,0,9,611,0,0,2,2,0,1,0,1,3,0,0,1,3,0,0,
401,0,0,10,0,0,13,612,0,0,3,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,
428,0,0,10,0,0,15,628,0,0,0,0,0,1,0,
443,0,0,11,453,0,3,708,0,0,24,24,0,1,0,1,3,0,0,1,3,0,0,1,4,0,0,1,4,0,0,1,4,0,0,
1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,
0,1,3,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,
554,0,0,12,121,0,3,765,0,0,5,5,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
589,0,0,13,248,0,6,811,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
624,0,0,14,251,0,6,821,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
};
using namespace std;
#include "htofinoparoraio.h"
#include "hades.h"
#include "hlocation.h"
#include "hspectrometer.h"
#include "htofinocalpar.h"
#include "htofinodigitpar.h"
#include "htofinodetector.h"
#include "htofinolookup.h"
#include "htofinogeompar.h"
#include "htofinoshowermap.h"
#include "hgeomcompositevolume.h"
#include "hgeomoradetversion.h"
#include <iostream>
#include <iomanip>
#include <unistd.h>
#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern
#include <oraca.h>
#include <sqlca.h>
ClassImp(HTofinoParOraIo)
#define TOFINO_MAXMODS 6
#define TOFINO_MAXCELL 4
#define TOFINO_MAXCHAN 48
#define SHOWER_MAXPADS 1024
#define SHOWER_MAXROWS 32
#define SHOWER_MAXCOLS 32
#define NO_TOFINO_CELL 9 //For shower Tofino Map
HTofinoParOraIo::HTofinoParOraIo(HOraConn* pC) : HDetParOraIo(pC) {
fName="HTofinoParIo";
numModules=0;
tofinoIds=0;
initModules=0;
geomVers=0;
}
HTofinoParOraIo::~HTofinoParOraIo() {
if (tofinoIds) delete tofinoIds;
if (initModules) delete initModules;
if (geomVers) delete geomVers;
}
Bool_t HTofinoParOraIo::init(HParSet* pPar,Int_t* set) {
const Text_t* name=pPar->IsA()->GetName();
if (startIo(pPar)<=0) return kFALSE;
if (strcmp(name,"HTofinoLookup")==0) return read(((HTofinoLookup*)pPar),set);
if (strcmp(name,"HTofinoGeomPar")==0) return read(((HTofinoGeomPar*)pPar),set);
if (strcmp(name,"HTofinoCalPar")==0) return read(((HTofinoCalPar*)pPar),set);
if (strcmp(name,"HTofinoShowerMap")==0) return read(((HTofinoShowerMap*)pPar),set);
if (strcmp(name,"HTofinoDigitPar")==0) return readCond((HParCond*)pPar,set);
cout<<"initialization of "<<name<<" not possible from Oracle!"<<endl;
return kFALSE;
}
Int_t HTofinoParOraIo::write(HParSet* pPar) {
const Text_t* name=pPar->IsA()->GetName();
if (startIo(pPar)<=0) return kFALSE;
if (strcmp(name,"HTofinoGeomPar")==0) return writeAlignment((HTofinoGeomPar*)pPar);
if (strcmp(name,"HTofinoCalPar")==0) return writePar((HTofinoCalPar*)pPar);
if (strcmp(name,"HTofinoShowerMap")==0) return writePar((HTofinoShowerMap*)pPar);
if (strcmp(name,"HTofinoDigitPar")==0) return writeCond((HParCond*)pPar);
cout<<"No write-interface to Oracle for parameter container "
<<pPar->GetName()<<endl;
return 0;
}
Int_t HTofinoParOraIo::startIo(HParSet* pPar) {
runStart=getRunStart(pPar);
if (runStart>0 && tofinoIds==0) readIds();
if (runStart==-1 || numModules<=0) {
pPar->setInputVersion(-1,inputNumber);
return -1;
}
return runStart;
}
Int_t HTofinoParOraIo::readIds() {
HTofinoDetector* det=(HTofinoDetector*)(gHades->getSetup()->getDetector("Tofino"));
int id[TOFINO_MAXMODS];
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 1;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select module into :b0 from tofino_ana.det_setup_at_run_hi\
st ";
sqlstm.iters = (unsigned int )6;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)id;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("readIds()");
}
numModules=sqlca.sqlerrd[2];
if (numModules>0) {
tofinoIds=new TArrayI(TOFINO_MAXMODS);
for(Int_t i=0;i<TOFINO_MAXMODS;i++) tofinoIds->AddAt(0,i);
initModules=new TArrayI(TOFINO_MAXMODS);
}
for(Int_t i=0;i<numModules;i++) {
Int_t s=id[i]-1;
if (det->getModule(s,0)) tofinoIds->AddAt(id[i],s);
}
return numModules;
}
void HTofinoParOraIo::printIds() {
if (tofinoIds) {
for(Int_t i=0;i<TOFINO_MAXMODS;i++)
cout<<"sector: "<<i+1<<" tofino id: "<<tofinoIds->At(i)<<"\n";
}
}
Int_t HTofinoParOraIo::getParVersion(HParSet *pPar, Int_t *versions) {
HParOraSet* oraSet=getOraSet(pPar);
runStart = getRunStart(pPar);
if (oraSet->contextId==-1 || runStart==-1) return -1;
Int_t contVers=pPar->getInputVersion(inputNumber);
if ( contVers!=-1 && runStart>=oraSet->versDate[0]
&& runStart<=oraSet->versDate[1] ) {
return contVers;
}
const Char_t* containerClass=pPar->IsA()->GetName();
oraSet->clearVersDate();
struct {
int sec[TOFINO_MAXMODS];
int vers[TOFINO_MAXMODS];
double since[TOFINO_MAXMODS];
double until[TOFINO_MAXMODS];
} par_vers;
struct {
short sec[TOFINO_MAXMODS];
short vers[TOFINO_MAXMODS];
short since[TOFINO_MAXMODS];
short until[TOFINO_MAXMODS];
} par_vers_ind;
int context;
context = oraSet->contextId;
if (strcmp(containerClass,"HTofinoCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,vers_id ,hdate.to_ansitime(valid_since) ,h\
date.to_ansitime(valid_until) into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 from tofin\
o_ana.tofino_cal_par_vers_at_date where context_id=:b2";
sqlstm.iters = (unsigned int )6;
sqlstm.offset = (unsigned int )24;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)par_vers.sec;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)par_vers_ind.sec;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)par_vers.vers;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)par_vers_ind.vers;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)par_vers.since;
sqlstm.sqhstl[2] = (unsigned int )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( void *)par_vers_ind.since;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)par_vers.until;
sqlstm.sqhstl[3] = (unsigned int )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( void *)par_vers_ind.until;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)&context;
sqlstm.sqhstl[4] = (unsigned int )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("getParVersion(HParOraSet*)");
}
} else if (strcmp(containerClass,"HTofinoShowerMap")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,vers_id ,hdate.to_ansitime(valid_since) ,h\
date.to_ansitime(valid_until) into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 from tofin\
o_ana.tofino_shower_map_vers_at_date where context_id=:b2";
sqlstm.iters = (unsigned int )6;
sqlstm.offset = (unsigned int )59;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)par_vers.sec;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)par_vers_ind.sec;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)par_vers.vers;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)par_vers_ind.vers;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)par_vers.since;
sqlstm.sqhstl[2] = (unsigned int )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( void *)par_vers_ind.since;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)par_vers.until;
sqlstm.sqhstl[3] = (unsigned int )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( void *)par_vers_ind.until;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)&context;
sqlstm.sqhstl[4] = (unsigned int )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("getParVersion(HParOraSet*)");
}
}
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
Int_t s = par_vers.sec[i]-1;
versions[s] = par_vers.vers[i];
if (par_vers.since[i]>oraSet->versDate[0]) {
oraSet->versDate[0]=par_vers.since[i];
}
if (par_vers.until[i]<oraSet->versDate[1]) {
oraSet->versDate[1]=par_vers.until[i];
}
}
if (oraSet->versDate[0]>=0) return getActRunId();
return -1;
}
Int_t HTofinoParOraIo::getLookupVersion(HTofinoLookup* pPar) {
HParOraSet* oraSet=getOraSet(pPar);
Int_t contVers=pPar->getInputVersion(inputNumber);
if (contVers!=-1 && runStart>=oraSet->versDate[0] && runStart<=oraSet->versDate[1]) {
return contVers;
}
Double_t dateRange[2]={-1.,1.e+12};
double c_since;
double c_until;
double r_since;
double r_until;
short c_since_ind;
short c_until_ind;
short r_since_ind;
short r_until_ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select hdate.to_ansitime(config_since) ,hdate.to_ansitime(c\
onfig_until) ,hdate.to_ansitime(dc_since) ,hdate.to_ansitime(dc_until) into :b\
0:b1,:b2:b3,:b4:b5,:b6:b7 from tof_ana.tofino_lookup_time_range_hist ";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )94;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&c_since;
sqlstm.sqhstl[0] = (unsigned int )sizeof(double);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)&c_since_ind;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&c_until;
sqlstm.sqhstl[1] = (unsigned int )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)&c_until_ind;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)&r_since;
sqlstm.sqhstl[2] = (unsigned int )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)&r_since_ind;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)&r_until;
sqlstm.sqhstl[3] = (unsigned int )sizeof(double);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( void *)&r_until_ind;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getLookupVersion(HTofinoLookup*)");
}
if (c_since_ind==-1||c_until_ind==-1||r_since_ind==-1||r_until_ind==-1) {
oraSet->clearVersDate();
return -1;
}
dateRange[0]=c_since;
dateRange[1]=c_until;
if (r_since>dateRange[0]) dateRange[0]=r_since;
if (r_until<dateRange[1]) dateRange[1]=r_until;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select hdate.to_ansitime(previous_until) ,hdate.to_ansitime\
(next_since) into :b0:b1,:b2:b3 from tof_ana.tofino_lookup_time_range_check ";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )125;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&c_since;
sqlstm.sqhstl[0] = (unsigned int )sizeof(double);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)&c_since_ind;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&c_until;
sqlstm.sqhstl[1] = (unsigned int )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)&c_until_ind;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getLookupVersion(HTofinoLookup*)");
}
if (c_since_ind!=-1 && c_since>dateRange[0]) dateRange[0]=c_since;
if (c_until_ind!=-1 && c_until<dateRange[1]) dateRange[1]=c_until;
if (contVers==-1 || runStart<oraSet->versDate[0] || runStart>oraSet->versDate[1] ||
dateRange[0]!=oraSet->versDate[0] || dateRange[1]!=oraSet->versDate[1]) {
oraSet->versDate[0]=dateRange[0];
oraSet->versDate[1]=dateRange[1];
return getActRunId();
} else return contVers;
notfound:
oraSet->clearVersDate();
return -1;
};
Bool_t HTofinoParOraIo::read(HTofinoLookup* pPar, Int_t* set) {
Int_t version=getLookupVersion(pPar);
if (version==-1) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
if (version==pPar->getInputVersion(inputNumber)) return kTRUE;
pPar->clear();
initModules->Reset();
struct {
int crate[TOFINO_MAXCHAN];
int slot[TOFINO_MAXCHAN];
int chan[TOFINO_MAXCHAN];
char branch[TOFINO_MAXCHAN][2];
int mod[TOFINO_MAXCHAN];
int cell[TOFINO_MAXCHAN];
} lrec;
struct {
short crate[TOFINO_MAXCHAN];
short slot[TOFINO_MAXCHAN];
short chan[TOFINO_MAXCHAN];
short branch[TOFINO_MAXCHAN];
short mod[TOFINO_MAXCHAN];
short cell[TOFINO_MAXCHAN];
} lrec_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select crate ,slot ,channel ,branch ,module ,paddle into :s\
1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 ,:s11:s12 from tof_ana.tofino_lookup_a\
t_histdate ";
sqlstm.iters = (unsigned int )48;
sqlstm.offset = (unsigned int )148;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)lrec.crate;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)lrec_Ind.crate;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)lrec.slot;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)lrec_Ind.slot;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)lrec.chan;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( void *)lrec_Ind.chan;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)lrec.branch;
sqlstm.sqhstl[3] = (unsigned int )2;
sqlstm.sqhsts[3] = ( int )2;
sqlstm.sqindv[3] = ( void *)lrec_Ind.branch;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)lrec.mod;
sqlstm.sqhstl[4] = (unsigned int )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( void *)lrec_Ind.mod;
sqlstm.sqinds[4] = ( int )sizeof(short);
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqharc[4] = (unsigned int *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = ( void *)lrec.cell;
sqlstm.sqhstl[5] = (unsigned int )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( void *)lrec_Ind.cell;
sqlstm.sqinds[5] = ( int )sizeof(short);
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqharc[5] = (unsigned int *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoLookup*,Int_t*)");
}
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
Int_t s=lrec.mod[i]-1;
if (set[s]) {
pPar->setAddress(lrec.crate[i]-1,lrec.slot[i]-1,lrec.branch[i][0],
lrec.chan[i],s,0,lrec.cell[i]-1);
initModules->AddAt(s+1,s);
}
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<TOFINO_MAXMODS;i++) {
if (set[i]>0 && initModules->At(i)<=0) allFound=kFALSE;
}
if (allFound) {
pPar->setInputVersion(version,inputNumber);
setChanged(pPar);
printInfo(pPar->GetName());
} else pPar->clear();
return allFound;
}
Bool_t HTofinoParOraIo::read(HTofinoGeomPar* pPar, Int_t* set) {
Bool_t allFound=kTRUE;
Int_t detId=-1;
if (!geomVers) {
TString detName="TOF";
detId=getDetectorId(detName.Data());
geomVers=new HGeomOraDetVersion(detName.Data(),detId);
} else {
detId=geomVers->getDetectorId();
}
if (detId<=0) {
allFound=kFALSE;
delete geomVers;
geomVers=0;
}
if (detId>0&&pPar->isFirstInitialization()) {
if (!readModGeomNames(pPar,set) || !readCompGeomNames(pPar,set)) {
allFound=kFALSE;
pPar->clear();
} else addGeomOraSet(pPar);
}
if (allFound) allFound=readDetectorGeometry(pPar,set,geomVers);
return allFound;
}
Bool_t HTofinoParOraIo::readModGeomNames(HTofinoGeomPar* pPar,Int_t* set) {
struct {
int id[TOFINO_MAXMODS];
struct { unsigned short len; unsigned char arr[10]; } oname[6];
} mods;
struct {
short id_Ind[TOFINO_MAXMODS];
short oname_Ind[TOFINO_MAXMODS];
} mods_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select module ,geom_obj into :s1:s2 ,:s3:s4 from tofino_a\
na.det_setup_at_run_hist ";
sqlstm.iters = (unsigned int )6;
sqlstm.offset = (unsigned int )187;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)mods.id;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)mods_Ind.id_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)mods.oname;
sqlstm.sqhstl[1] = (unsigned int )11;
sqlstm.sqhsts[1] = ( int )12;
sqlstm.sqindv[1] = ( void *)mods_Ind.oname_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("readModGeomNames()");
}
Char_t ref[10];
initModules->Reset();
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
Int_t s=mods.id[i]-1;
HModGeomPar* pMod=pPar->getModule(s,0);
if (pMod && set[s]) {
if (mods_Ind.oname_Ind[i]!=-1) {
mods.oname[i].arr[mods.oname[i].len]='\0';
pMod->SetName((Char_t*)(mods.oname[i].arr));
initModules->AddAt(s+1,s);
strcpy(ref,(Char_t*)(mods.oname[i].arr));
ref[3]='1';
pMod->setRefName(ref);
Int_t mr=pPar->getModNumInMod(ref);
HGeomCompositeVolume* refMod=pPar->getRefVolume(mr);
if (refMod==0) {
refMod=new HGeomCompositeVolume(pPar->getNumComponents());
refMod->SetName(ref);
pPar->addRefVolume(refMod,mr);
}
pMod->setVolume(refMod);
}
}
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<TOFINO_MAXMODS;i++) {
if (set[i]>0 && initModules->At(i)==0) allFound=kFALSE;
}
return allFound;
}
Bool_t HTofinoParOraIo::readCompGeomNames(HTofinoGeomPar* pPar,Int_t* set) {
struct {
int cell[TOFINO_MAXCELL];
struct { unsigned short len; unsigned char arr[10]; } oname[4];
} comps;
struct {
short cell_Ind[TOFINO_MAXCELL];
short oname_Ind[TOFINO_MAXCELL];
} comps_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select paddle_nr ,geom_obj_name into :s1:s2 ,:s3:s4 from \
tofino_ana.paddle where det_module_id=1";
sqlstm.iters = (unsigned int )4;
sqlstm.offset = (unsigned int )210;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)comps.cell;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)comps_Ind.cell_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)comps.oname;
sqlstm.sqhstl[1] = (unsigned int )11;
sqlstm.sqhsts[1] = ( int )12;
sqlstm.sqindv[1] = ( void *)comps_Ind.oname_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("readCompGeomNames(...)");
}
HModGeomPar* pMod=0;
for(Int_t s=0;s<TOFINO_MAXMODS;s++) {
pMod=pPar->getModule(s,0);
if (pMod) break;
}
if (pMod) {
HGeomCompositeVolume* pRefMod=pMod->getRefVolume();
for(Int_t k=0;k<sqlca.sqlerrd[2];k++) {
if (comps_Ind.oname_Ind[k]!=-1) {
comps.oname[k].arr[comps.oname[k].len]='\0';
HGeomVolume* volu=pRefMod->getComponent((comps.cell[k]-1));
volu->SetName((Char_t*)(comps.oname[k].arr));
}
}
}
if (sqlca.sqlerrd[2]>0) return kTRUE;
else return kFALSE;
}
Bool_t HTofinoParOraIo::read(HTofinoCalPar* pPar, Int_t* set) {
Int_t contVers=pPar->getInputVersion(inputNumber);
Int_t versions[TOFINO_MAXMODS];
Int_t version=getParVersion(pPar,versions);
if (version==-1) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
if (contVers==version) return kTRUE;
if (inputNumber==1) pPar->clear();
pPar->setInputVersion(version,inputNumber);
initModules->Reset();
int sec;
int vers;
struct {
int paddle[TOFINO_MAXCELL];
float slope[TOFINO_MAXCELL];
float offset[TOFINO_MAXCELL];
float delta_slope[TOFINO_MAXCELL];
float delta_offset[TOFINO_MAXCELL];
float cfd_threshold[TOFINO_MAXCELL];
float res_par1[TOFINO_MAXCELL];
float res_par2[TOFINO_MAXCELL];
float res_par3[TOFINO_MAXCELL];
float dist_par1[TOFINO_MAXCELL];
float dist_par2[TOFINO_MAXCELL];
float dist_par3[TOFINO_MAXCELL];
float dist_par4[TOFINO_MAXCELL];
float min_length[TOFINO_MAXCELL];
int dist_param_type[TOFINO_MAXCELL];
float time_channel[TOFINO_MAXCELL];
float coord_pos[TOFINO_MAXCELL];
float adc_threshold[TOFINO_MAXCELL];
float adc_pedestal[TOFINO_MAXCELL];
float e_loss_par1[TOFINO_MAXCELL];
float e_loss_par2[TOFINO_MAXCELL];
float e_loss_par3[TOFINO_MAXCELL];
float e_loss_par4[TOFINO_MAXCELL];
}cal;
struct{
short paddle[TOFINO_MAXCELL];
short slope[TOFINO_MAXCELL];
short offset[TOFINO_MAXCELL];
short delta_slope[TOFINO_MAXCELL];
short delta_offset[TOFINO_MAXCELL];
short cfd_threshold[TOFINO_MAXCELL];
short res_par1[TOFINO_MAXCELL];
short res_par2[TOFINO_MAXCELL];
short res_par3[TOFINO_MAXCELL];
short dist_par1[TOFINO_MAXCELL];
short dist_par2[TOFINO_MAXCELL];
short dist_par3[TOFINO_MAXCELL];
short dist_par4[TOFINO_MAXCELL];
short min_length[TOFINO_MAXCELL];
short dist_param_type[TOFINO_MAXCELL];
short time_channel[TOFINO_MAXCELL];
short coord_pos[TOFINO_MAXCELL];
short adc_threshold[TOFINO_MAXCELL];
short adc_pedestal[TOFINO_MAXCELL];
short e_loss_par1[TOFINO_MAXCELL];
short e_loss_par2[TOFINO_MAXCELL];
short e_loss_par3[TOFINO_MAXCELL];
short e_loss_par4[TOFINO_MAXCELL];
}cal_ind;
HLocation loc;
HTofinoCalParCell *pCell;
loc.setNIndex(2);
for(Int_t s=0;s<TOFINO_MAXMODS;s++) {
if(tofinoIds->At(s)>0 && versions[s]>0) {
sec=s+1;
vers=versions[s];
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0009;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )233;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&sec;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&vers;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 23;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )4;
sqlstm.offset = (unsigned int )256;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = ( void *)cal.paddle;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)cal_ind.paddle;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)cal.slope;
sqlstm.sqhstl[1] = (unsigned int )sizeof(float);
sqlstm.sqhsts[1] = ( int )sizeof(float);
sqlstm.sqindv[1] = ( void *)cal_ind.slope;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)cal.offset;
sqlstm.sqhstl[2] = (unsigned int )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( void *)cal_ind.offset;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)cal.delta_slope;
sqlstm.sqhstl[3] = (unsigned int )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( void *)cal_ind.delta_slope;
sqlstm.sqinds[3] = ( int )sizeof(short);
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)cal.delta_offset;
sqlstm.sqhstl[4] = (unsigned int )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( void *)cal_ind.delta_offset;
sqlstm.sqinds[4] = ( int )sizeof(short);
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqharc[4] = (unsigned int *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = ( void *)cal.cfd_threshold;
sqlstm.sqhstl[5] = (unsigned int )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( void *)cal_ind.cfd_threshold;
sqlstm.sqinds[5] = ( int )sizeof(short);
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqharc[5] = (unsigned int *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = ( void *)cal.res_par1;
sqlstm.sqhstl[6] = (unsigned int )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( void *)cal_ind.res_par1;
sqlstm.sqinds[6] = ( int )sizeof(short);
sqlstm.sqharm[6] = (unsigned int )0;
sqlstm.sqharc[6] = (unsigned int *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = ( void *)cal.res_par2;
sqlstm.sqhstl[7] = (unsigned int )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( void *)cal_ind.res_par2;
sqlstm.sqinds[7] = ( int )sizeof(short);
sqlstm.sqharm[7] = (unsigned int )0;
sqlstm.sqharc[7] = (unsigned int *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = ( void *)cal.res_par3;
sqlstm.sqhstl[8] = (unsigned int )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( void *)cal_ind.res_par3;
sqlstm.sqinds[8] = ( int )sizeof(short);
sqlstm.sqharm[8] = (unsigned int )0;
sqlstm.sqharc[8] = (unsigned int *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = ( void *)cal.dist_par1;
sqlstm.sqhstl[9] = (unsigned int )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( void *)cal_ind.dist_par1;
sqlstm.sqinds[9] = ( int )sizeof(short);
sqlstm.sqharm[9] = (unsigned int )0;
sqlstm.sqharc[9] = (unsigned int *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = ( void *)cal.dist_par2;
sqlstm.sqhstl[10] = (unsigned int )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( void *)cal_ind.dist_par2;
sqlstm.sqinds[10] = ( int )sizeof(short);
sqlstm.sqharm[10] = (unsigned int )0;
sqlstm.sqharc[10] = (unsigned int *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = ( void *)cal.dist_par3;
sqlstm.sqhstl[11] = (unsigned int )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( void *)cal_ind.dist_par3;
sqlstm.sqinds[11] = ( int )sizeof(short);
sqlstm.sqharm[11] = (unsigned int )0;
sqlstm.sqharc[11] = (unsigned int *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (unsigned short )0;
sqlstm.sqhstv[12] = ( void *)cal.dist_par4;
sqlstm.sqhstl[12] = (unsigned int )sizeof(float);
sqlstm.sqhsts[12] = ( int )sizeof(float);
sqlstm.sqindv[12] = ( void *)cal_ind.dist_par4;
sqlstm.sqinds[12] = ( int )sizeof(short);
sqlstm.sqharm[12] = (unsigned int )0;
sqlstm.sqharc[12] = (unsigned int *)0;
sqlstm.sqadto[12] = (unsigned short )0;
sqlstm.sqtdso[12] = (unsigned short )0;
sqlstm.sqhstv[13] = ( void *)cal.min_length;
sqlstm.sqhstl[13] = (unsigned int )sizeof(float);
sqlstm.sqhsts[13] = ( int )sizeof(float);
sqlstm.sqindv[13] = ( void *)cal_ind.min_length;
sqlstm.sqinds[13] = ( int )sizeof(short);
sqlstm.sqharm[13] = (unsigned int )0;
sqlstm.sqharc[13] = (unsigned int *)0;
sqlstm.sqadto[13] = (unsigned short )0;
sqlstm.sqtdso[13] = (unsigned short )0;
sqlstm.sqhstv[14] = ( void *)cal.dist_param_type;
sqlstm.sqhstl[14] = (unsigned int )sizeof(int);
sqlstm.sqhsts[14] = ( int )sizeof(int);
sqlstm.sqindv[14] = ( void *)cal_ind.dist_param_type;
sqlstm.sqinds[14] = ( int )sizeof(short);
sqlstm.sqharm[14] = (unsigned int )0;
sqlstm.sqharc[14] = (unsigned int *)0;
sqlstm.sqadto[14] = (unsigned short )0;
sqlstm.sqtdso[14] = (unsigned short )0;
sqlstm.sqhstv[15] = ( void *)cal.time_channel;
sqlstm.sqhstl[15] = (unsigned int )sizeof(float);
sqlstm.sqhsts[15] = ( int )sizeof(float);
sqlstm.sqindv[15] = ( void *)cal_ind.time_channel;
sqlstm.sqinds[15] = ( int )sizeof(short);
sqlstm.sqharm[15] = (unsigned int )0;
sqlstm.sqharc[15] = (unsigned int *)0;
sqlstm.sqadto[15] = (unsigned short )0;
sqlstm.sqtdso[15] = (unsigned short )0;
sqlstm.sqhstv[16] = ( void *)cal.coord_pos;
sqlstm.sqhstl[16] = (unsigned int )sizeof(float);
sqlstm.sqhsts[16] = ( int )sizeof(float);
sqlstm.sqindv[16] = ( void *)cal_ind.coord_pos;
sqlstm.sqinds[16] = ( int )sizeof(short);
sqlstm.sqharm[16] = (unsigned int )0;
sqlstm.sqharc[16] = (unsigned int *)0;
sqlstm.sqadto[16] = (unsigned short )0;
sqlstm.sqtdso[16] = (unsigned short )0;
sqlstm.sqhstv[17] = ( void *)cal.adc_threshold;
sqlstm.sqhstl[17] = (unsigned int )sizeof(float);
sqlstm.sqhsts[17] = ( int )sizeof(float);
sqlstm.sqindv[17] = ( void *)cal_ind.adc_threshold;
sqlstm.sqinds[17] = ( int )sizeof(short);
sqlstm.sqharm[17] = (unsigned int )0;
sqlstm.sqharc[17] = (unsigned int *)0;
sqlstm.sqadto[17] = (unsigned short )0;
sqlstm.sqtdso[17] = (unsigned short )0;
sqlstm.sqhstv[18] = ( void *)cal.adc_pedestal;
sqlstm.sqhstl[18] = (unsigned int )sizeof(float);
sqlstm.sqhsts[18] = ( int )sizeof(float);
sqlstm.sqindv[18] = ( void *)cal_ind.adc_pedestal;
sqlstm.sqinds[18] = ( int )sizeof(short);
sqlstm.sqharm[18] = (unsigned int )0;
sqlstm.sqharc[18] = (unsigned int *)0;
sqlstm.sqadto[18] = (unsigned short )0;
sqlstm.sqtdso[18] = (unsigned short )0;
sqlstm.sqhstv[19] = ( void *)cal.e_loss_par1;
sqlstm.sqhstl[19] = (unsigned int )sizeof(float);
sqlstm.sqhsts[19] = ( int )sizeof(float);
sqlstm.sqindv[19] = ( void *)cal_ind.e_loss_par1;
sqlstm.sqinds[19] = ( int )sizeof(short);
sqlstm.sqharm[19] = (unsigned int )0;
sqlstm.sqharc[19] = (unsigned int *)0;
sqlstm.sqadto[19] = (unsigned short )0;
sqlstm.sqtdso[19] = (unsigned short )0;
sqlstm.sqhstv[20] = ( void *)cal.e_loss_par2;
sqlstm.sqhstl[20] = (unsigned int )sizeof(float);
sqlstm.sqhsts[20] = ( int )sizeof(float);
sqlstm.sqindv[20] = ( void *)cal_ind.e_loss_par2;
sqlstm.sqinds[20] = ( int )sizeof(short);
sqlstm.sqharm[20] = (unsigned int )0;
sqlstm.sqharc[20] = (unsigned int *)0;
sqlstm.sqadto[20] = (unsigned short )0;
sqlstm.sqtdso[20] = (unsigned short )0;
sqlstm.sqhstv[21] = ( void *)cal.e_loss_par3;
sqlstm.sqhstl[21] = (unsigned int )sizeof(float);
sqlstm.sqhsts[21] = ( int )sizeof(float);
sqlstm.sqindv[21] = ( void *)cal_ind.e_loss_par3;
sqlstm.sqinds[21] = ( int )sizeof(short);
sqlstm.sqharm[21] = (unsigned int )0;
sqlstm.sqharc[21] = (unsigned int *)0;
sqlstm.sqadto[21] = (unsigned short )0;
sqlstm.sqtdso[21] = (unsigned short )0;
sqlstm.sqhstv[22] = ( void *)cal.e_loss_par4;
sqlstm.sqhstl[22] = (unsigned int )sizeof(float);
sqlstm.sqhsts[22] = ( int )sizeof(float);
sqlstm.sqindv[22] = ( void *)cal_ind.e_loss_par4;
sqlstm.sqinds[22] = ( int )sizeof(short);
sqlstm.sqharm[22] = (unsigned int )0;
sqlstm.sqharc[22] = (unsigned int *)0;
sqlstm.sqadto[22] = (unsigned short )0;
sqlstm.sqtdso[22] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
loc[0]=s;
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
loc[1]=cal.paddle[i]-1;
pCell = (HTofinoCalParCell*)pPar->getSlot(loc);
if (pCell){
pCell = new (pCell) HTofinoCalParCell;
pCell->setSlope(cal.slope[i]);
pCell->setOffset(cal.offset[i]);
pCell->setTimeChannel(cal.time_channel[i]);
pCell->setDistanceParamsType(cal.dist_param_type[i]);
Float_t *dist = new Float_t[4];
dist[0] = cal.dist_par1[i];
dist[1] = cal.dist_par2[i];
dist[2] = cal.dist_par3[i];
dist[3] = cal.dist_par4[i];
pCell->setDistanceParams(dist);
delete [] dist;
pCell->setCoordPosition(cal.coord_pos[i]);
pCell->setDeltaSlope(cal.delta_slope[i]);
pCell->setDeltaOffset(cal.delta_offset[i]);
Float_t *res = new Float_t[4];
res[0]=cal.res_par1[i];
res[1]=cal.res_par2[i];
res[2]=cal.res_par3[i];
pCell->setResolParams(res);
delete [] res;
pCell->setCFDThreshold(cal.cfd_threshold[i]);
pCell->setMinLength(cal.min_length[i]);
if(cal_ind.adc_threshold[i]==-1) pCell->setADCThreshold(0);
else pCell->setADCThreshold(cal.adc_threshold[i]);
if(cal_ind.adc_pedestal[i]==-1) pCell->setADCPedestal(0);
else pCell->setADCPedestal(cal.adc_pedestal[i]);
Float_t *eLoss = new Float_t[4];
if(cal_ind.e_loss_par1[i]==-1){
eLoss[0]=-1;
eLoss[1]=-1;
eLoss[2]=-1;
eLoss[3]=-1;
} else {
eLoss[0]=cal.e_loss_par1[i];
eLoss[1]=cal.e_loss_par2[i];
eLoss[2]=cal.e_loss_par3[i];
eLoss[3]=cal.e_loss_par4[i];
}
pCell->setElossParams(eLoss);
delete [] eLoss;
initModules->AddAt(s+1,s);
}
}
}
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 23;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )363;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
setChanged(pPar);
printInfo(pPar->GetName());
return kTRUE;
}
Bool_t HTofinoParOraIo::read(HTofinoShowerMap* pPar, Int_t* set) {
Int_t contVers=pPar->getInputVersion(inputNumber);
Int_t versions[TOFINO_MAXMODS];
Int_t version=getParVersion(pPar,versions);
if (version==-1) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
if (contVers==version) return kTRUE;
if (inputNumber==1) pPar->clear();
pPar->setInputVersion(version,inputNumber);
initModules->Reset();
int vers;
int sec;
int row_id[SHOWER_MAXPADS];
int col_id[SHOWER_MAXPADS];
int cell_id[SHOWER_MAXPADS];
short cell_ind[SHOWER_MAXPADS];
HLocation loc;
HTofinoShowerMapCell *pCell;
loc.setNIndex(2);
sec = 1;
vers = versions[1];
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 23;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0010;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )378;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&vers;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&sec;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 23;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1024;
sqlstm.offset = (unsigned int )401;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = ( void *)row_id;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)col_id;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)cell_id;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( void *)cell_ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
for(Int_t n =0;n<sqlca.sqlerrd[2];n++){
loc[0] = row_id[n]-1;
loc[1] = col_id[n]-1;
pCell = (HTofinoShowerMapCell*) pPar->getSlot(loc);
if (pCell) {
pCell = new(pCell) HTofinoShowerMapCell;
if (cell_ind[n]==-1){
pCell->setCellNumber(NO_TOFINO_CELL);
}
else{
pCell->setCellNumber(cell_id[n]-1);
}
}
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 23;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )428;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HTofinoCalPar*,Int_t*)");
}
setChanged(pPar);
printInfo(pPar->GetName());
return kTRUE;
}
Int_t HTofinoParOraIo::writePar(HTofinoCalPar*pPar){
Int_t version=createVers(pPar);
if (version==-1) return -1;
HLocation loc;
HTofinoCalParCell *pCell;
loc.setNIndex(2);
struct {
int vers[TOFINO_MAXCELL];
int paddle[TOFINO_MAXCELL];
float slope[TOFINO_MAXCELL];
float offset[TOFINO_MAXCELL];
float delta_slope[TOFINO_MAXCELL];
float delta_offset[TOFINO_MAXCELL];
float cfd_threshold[TOFINO_MAXCELL];
float res_par1[TOFINO_MAXCELL];
float res_par2[TOFINO_MAXCELL];
float res_par3[TOFINO_MAXCELL];
float dist_par1[TOFINO_MAXCELL];
float dist_par2[TOFINO_MAXCELL];
float dist_par3[TOFINO_MAXCELL];
float dist_par4[TOFINO_MAXCELL];
float min_length[TOFINO_MAXCELL];
int dist_param_type[TOFINO_MAXCELL];
float time_channel[TOFINO_MAXCELL];
float coord_pos[TOFINO_MAXCELL];
float adc_threshold[TOFINO_MAXCELL];
float adc_pedestal[TOFINO_MAXCELL];
float e_loss_par1[TOFINO_MAXCELL];
float e_loss_par2[TOFINO_MAXCELL];
float e_loss_par3[TOFINO_MAXCELL];
float e_loss_par4[TOFINO_MAXCELL];
}cal;
for(Int_t s =0; s<pPar->getSectors();s++){
loc[0]=s;
for(Int_t c=0; c<pPar->getCells();c++){
loc[1]=c;
pCell = pPar->getObject(loc);
cal.vers[c]=version;
cal.paddle[c] = (s+1)*10 + c+1;
cal.slope[c] = pCell->getSlope();
cal.offset[c] = pCell->getOffset();
cal.delta_slope[c] = pCell->getDeltaSlope();
cal.delta_offset[c] = pCell->getDeltaOffset();
cal.cfd_threshold[c] = pCell->getCFDThreshold();
Float_t res[3];
pCell->getResolParams(res);
cal.res_par1[c] = res[0];
cal.res_par2[c] = res[1];
cal.res_par3[c] = res[2];
Float_t dist[4];
pCell->getDistanceParams(dist);
cal.dist_par1[c] = dist[0];
cal.dist_par2[c] = dist[1];
cal.dist_par3[c] = dist[2];
cal.dist_par4[c] = dist[3];
cal.min_length[c] = pCell->getMinLength();
cal.dist_param_type[c] = pCell->getDistanceParamsType();
cal.time_channel[c] = pCell->getTimeChannel();
cal.coord_pos[c] = pCell->getCoordPosition();
cal.adc_threshold[c]=pCell->getADCThreshold();
cal.adc_pedestal[c]=pCell->getADCPedestal();
Float_t eLoss[4];
pCell->getElossParams(eLoss);
cal.e_loss_par1[c]=eLoss[0];
cal.e_loss_par2[c]=eLoss[1];
cal.e_loss_par3[c]=eLoss[2];
cal.e_loss_par4[c]=eLoss[3];
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 24;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into tofino_ana.tofino_cal_par_data_v2 (vers_id,pa\
ddle_id,slope,offset,delta_slope,delta_offset,cfd_threshold,res_par1,res_par2,\
res_par3,dist_par1,dist_par2,dist_par3,dist_par4,min_length,dist_param_type,ti\
me_channel,coord_pos,adc_threshold,adc_pedestal,e_loss_par1,e_loss_par2,e_loss\
_par3,e_loss_par4) values (:s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 ,:s7 ,:s8 ,:s9 ,:s10 ,\
:s11 ,:s12 ,:s13 ,:s14 ,:s15 ,:s16 ,:s17 ,:s18 ,:s19 ,:s20 ,:s21 ,:s22 ,:s23 ,\
:s24 )";
sqlstm.iters = (unsigned int )4;
sqlstm.offset = (unsigned int )443;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)cal.vers;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)cal.paddle;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)cal.slope;
sqlstm.sqhstl[2] = (unsigned int )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)cal.offset;
sqlstm.sqhstl[3] = (unsigned int )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( void *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)cal.delta_slope;
sqlstm.sqhstl[4] = (unsigned int )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqharc[4] = (unsigned int *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = ( void *)cal.delta_offset;
sqlstm.sqhstl[5] = (unsigned int )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( void *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqharc[5] = (unsigned int *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = ( void *)cal.cfd_threshold;
sqlstm.sqhstl[6] = (unsigned int )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( void *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned int )0;
sqlstm.sqharc[6] = (unsigned int *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = ( void *)cal.res_par1;
sqlstm.sqhstl[7] = (unsigned int )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( void *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned int )0;
sqlstm.sqharc[7] = (unsigned int *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = ( void *)cal.res_par2;
sqlstm.sqhstl[8] = (unsigned int )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( void *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned int )0;
sqlstm.sqharc[8] = (unsigned int *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = ( void *)cal.res_par3;
sqlstm.sqhstl[9] = (unsigned int )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( void *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned int )0;
sqlstm.sqharc[9] = (unsigned int *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = ( void *)cal.dist_par1;
sqlstm.sqhstl[10] = (unsigned int )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( void *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned int )0;
sqlstm.sqharc[10] = (unsigned int *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = ( void *)cal.dist_par2;
sqlstm.sqhstl[11] = (unsigned int )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( void *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[11] = (unsigned int )0;
sqlstm.sqharc[11] = (unsigned int *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (unsigned short )0;
sqlstm.sqhstv[12] = ( void *)cal.dist_par3;
sqlstm.sqhstl[12] = (unsigned int )sizeof(float);
sqlstm.sqhsts[12] = ( int )sizeof(float);
sqlstm.sqindv[12] = ( void *)0;
sqlstm.sqinds[12] = ( int )0;
sqlstm.sqharm[12] = (unsigned int )0;
sqlstm.sqharc[12] = (unsigned int *)0;
sqlstm.sqadto[12] = (unsigned short )0;
sqlstm.sqtdso[12] = (unsigned short )0;
sqlstm.sqhstv[13] = ( void *)cal.dist_par4;
sqlstm.sqhstl[13] = (unsigned int )sizeof(float);
sqlstm.sqhsts[13] = ( int )sizeof(float);
sqlstm.sqindv[13] = ( void *)0;
sqlstm.sqinds[13] = ( int )0;
sqlstm.sqharm[13] = (unsigned int )0;
sqlstm.sqharc[13] = (unsigned int *)0;
sqlstm.sqadto[13] = (unsigned short )0;
sqlstm.sqtdso[13] = (unsigned short )0;
sqlstm.sqhstv[14] = ( void *)cal.min_length;
sqlstm.sqhstl[14] = (unsigned int )sizeof(float);
sqlstm.sqhsts[14] = ( int )sizeof(float);
sqlstm.sqindv[14] = ( void *)0;
sqlstm.sqinds[14] = ( int )0;
sqlstm.sqharm[14] = (unsigned int )0;
sqlstm.sqharc[14] = (unsigned int *)0;
sqlstm.sqadto[14] = (unsigned short )0;
sqlstm.sqtdso[14] = (unsigned short )0;
sqlstm.sqhstv[15] = ( void *)cal.dist_param_type;
sqlstm.sqhstl[15] = (unsigned int )sizeof(int);
sqlstm.sqhsts[15] = ( int )sizeof(int);
sqlstm.sqindv[15] = ( void *)0;
sqlstm.sqinds[15] = ( int )0;
sqlstm.sqharm[15] = (unsigned int )0;
sqlstm.sqharc[15] = (unsigned int *)0;
sqlstm.sqadto[15] = (unsigned short )0;
sqlstm.sqtdso[15] = (unsigned short )0;
sqlstm.sqhstv[16] = ( void *)cal.time_channel;
sqlstm.sqhstl[16] = (unsigned int )sizeof(float);
sqlstm.sqhsts[16] = ( int )sizeof(float);
sqlstm.sqindv[16] = ( void *)0;
sqlstm.sqinds[16] = ( int )0;
sqlstm.sqharm[16] = (unsigned int )0;
sqlstm.sqharc[16] = (unsigned int *)0;
sqlstm.sqadto[16] = (unsigned short )0;
sqlstm.sqtdso[16] = (unsigned short )0;
sqlstm.sqhstv[17] = ( void *)cal.coord_pos;
sqlstm.sqhstl[17] = (unsigned int )sizeof(float);
sqlstm.sqhsts[17] = ( int )sizeof(float);
sqlstm.sqindv[17] = ( void *)0;
sqlstm.sqinds[17] = ( int )0;
sqlstm.sqharm[17] = (unsigned int )0;
sqlstm.sqharc[17] = (unsigned int *)0;
sqlstm.sqadto[17] = (unsigned short )0;
sqlstm.sqtdso[17] = (unsigned short )0;
sqlstm.sqhstv[18] = ( void *)cal.adc_threshold;
sqlstm.sqhstl[18] = (unsigned int )sizeof(float);
sqlstm.sqhsts[18] = ( int )sizeof(float);
sqlstm.sqindv[18] = ( void *)0;
sqlstm.sqinds[18] = ( int )0;
sqlstm.sqharm[18] = (unsigned int )0;
sqlstm.sqharc[18] = (unsigned int *)0;
sqlstm.sqadto[18] = (unsigned short )0;
sqlstm.sqtdso[18] = (unsigned short )0;
sqlstm.sqhstv[19] = ( void *)cal.adc_pedestal;
sqlstm.sqhstl[19] = (unsigned int )sizeof(float);
sqlstm.sqhsts[19] = ( int )sizeof(float);
sqlstm.sqindv[19] = ( void *)0;
sqlstm.sqinds[19] = ( int )0;
sqlstm.sqharm[19] = (unsigned int )0;
sqlstm.sqharc[19] = (unsigned int *)0;
sqlstm.sqadto[19] = (unsigned short )0;
sqlstm.sqtdso[19] = (unsigned short )0;
sqlstm.sqhstv[20] = ( void *)cal.e_loss_par1;
sqlstm.sqhstl[20] = (unsigned int )sizeof(float);
sqlstm.sqhsts[20] = ( int )sizeof(float);
sqlstm.sqindv[20] = ( void *)0;
sqlstm.sqinds[20] = ( int )0;
sqlstm.sqharm[20] = (unsigned int )0;
sqlstm.sqharc[20] = (unsigned int *)0;
sqlstm.sqadto[20] = (unsigned short )0;
sqlstm.sqtdso[20] = (unsigned short )0;
sqlstm.sqhstv[21] = ( void *)cal.e_loss_par2;
sqlstm.sqhstl[21] = (unsigned int )sizeof(float);
sqlstm.sqhsts[21] = ( int )sizeof(float);
sqlstm.sqindv[21] = ( void *)0;
sqlstm.sqinds[21] = ( int )0;
sqlstm.sqharm[21] = (unsigned int )0;
sqlstm.sqharc[21] = (unsigned int *)0;
sqlstm.sqadto[21] = (unsigned short )0;
sqlstm.sqtdso[21] = (unsigned short )0;
sqlstm.sqhstv[22] = ( void *)cal.e_loss_par3;
sqlstm.sqhstl[22] = (unsigned int )sizeof(float);
sqlstm.sqhsts[22] = ( int )sizeof(float);
sqlstm.sqindv[22] = ( void *)0;
sqlstm.sqinds[22] = ( int )0;
sqlstm.sqharm[22] = (unsigned int )0;
sqlstm.sqharc[22] = (unsigned int *)0;
sqlstm.sqadto[22] = (unsigned short )0;
sqlstm.sqtdso[22] = (unsigned short )0;
sqlstm.sqhstv[23] = ( void *)cal.e_loss_par4;
sqlstm.sqhstl[23] = (unsigned int )sizeof(float);
sqlstm.sqhsts[23] = ( int )sizeof(float);
sqlstm.sqindv[23] = ( void *)0;
sqlstm.sqinds[23] = ( int )0;
sqlstm.sqharm[23] = (unsigned int )0;
sqlstm.sqharc[23] = (unsigned int *)0;
sqlstm.sqadto[23] = (unsigned short )0;
sqlstm.sqtdso[23] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
}
cout<<"******** Calibration parameters written to Oracle ***********\n";
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HTofinoCalPar*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HTofinoParOraIo::writePar(HTofinoShowerMap*pPar){
Int_t version=createVers(pPar);
if (version==-1) return -1;
int vers[SHOWER_MAXPADS];
int row_id[SHOWER_MAXPADS];
int col_id[SHOWER_MAXPADS];
int cell_id[SHOWER_MAXPADS];
int sector_id[SHOWER_MAXPADS];
short cell_ind[SHOWER_MAXPADS];
HLocation loc;
loc.setNIndex(2);
Int_t nId=0;
for(Int_t s =0; s<TOFINO_MAXMODS;s++){
nId=0;
for (Int_t r = 0; r<SHOWER_MAXROWS;r++){
loc[0]=r;
for(Int_t c = 0; c <SHOWER_MAXCOLS;c++){
vers[nId] = version;
loc[1]=c;
sector_id[nId]=s+1;
row_id[nId] = r+1;
col_id[nId] = c+1;
if(pPar->getCellNumber(loc)==NO_TOFINO_CELL){
cell_ind[nId]=-1;
} else {
cell_ind[nId]=pPar->getCellNumber(loc);
}
cell_id[nId] = (pPar->getCellNumber(loc))+1;
nId++;
}
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 24;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into tofino_ana.tofino_shower_map_data (vers_id,se\
ctor_id,row_id,col_id,paddle_nr) values (:b0,:b1,:b2,:b3,:b4:b5)";
sqlstm.iters = (unsigned int )1024;
sqlstm.offset = (unsigned int )554;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)vers;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqharc[0] = (unsigned int *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)sector_id;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqharc[1] = (unsigned int *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)row_id;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqharc[2] = (unsigned int *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)col_id;
sqlstm.sqhstl[3] = (unsigned int )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( void *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqharc[3] = (unsigned int *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)cell_id;
sqlstm.sqhstl[4] = (unsigned int )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( void *)cell_ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqharc[4] = (unsigned int *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
}
cout<<"******* TofinoShowerMap parameters written to Oracle **********\n";
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HTofinoShowerMap*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HTofinoParOraIo::createVers(HParSet *pPar){
cout<<"\n------------------ "<<pPar->GetName()<<" ------------------\n";
cout<<"Author: "<<pPar->getAuthor()<<endl;
if (strlen(pPar->getAuthor())==0) {
Error("createVers(HParSet*)",
"\nAuthor of parameters not defined, please set it!");
return -1;
}
if (strlen(pPar->getDescription())==0) {
Error("createVers(HParSet*)",
"\ndescription of parameters not definedi, please set it!");
return -1;
}
int vers=-1;
int context;
int run;
char* creator;
char* descript;
context = getContextId(pPar->IsA()->GetName(),pPar->getParamContext());
if (context==-1) return -1;
run=getActRunId();
creator = (Char_t*)pPar->getAuthor();
descript = (Char_t*)pPar->getDescription();
const Char_t* contName=pPar->IsA()->GetName();
if (strcmp(contName,"HTofinoCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 24;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT tofino_ana . tofino_util . next_version INTO\
:vers FROM DUAL ; INSERT INTO tofino_ana . tofino_cal_par_vers ( vers_id , or\
ig_context_id , run_id , author , description ) VALUES ( :vers , :context , :r\
un , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )589;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&vers;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&context;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)&run;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)creator;
sqlstm.sqhstl[3] = (unsigned int )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( void *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)descript;
sqlstm.sqhstl[4] = (unsigned int )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<"Oracle version for TofinoCalPar created: "<<vers<<endl;
} else if (strcmp(contName,"HTofinoShowerMap")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 24;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT tofino_ana . tofino_util . next_version INTO\
:vers FROM DUAL ; INSERT INTO tofino_ana . tofino_shower_map_vers ( vers_id ,\
orig_context_id , run_id , author , description ) VALUES ( :vers , :context ,\
:run , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )624;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)256;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = ( void *)&vers;
sqlstm.sqhstl[0] = (unsigned int )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( void *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = ( void *)&context;
sqlstm.sqhstl[1] = (unsigned int )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( void *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = ( void *)&run;
sqlstm.sqhstl[2] = (unsigned int )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( void *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = ( void *)creator;
sqlstm.sqhstl[3] = (unsigned int )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( void *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = ( void *)descript;
sqlstm.sqhstl[4] = (unsigned int )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( void *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<"Oracle version for TofinoShowerMap created: "<<vers<<endl;
} else {
Error("createVers(HParSet *pPar)","I don't know such container:%s",contName);
}
return vers;
not_found:
showSqlError("createParVers(HParSet*)");
return -1;
}
void HTofinoParOraIo::printInfo(const Char_t* contName) {
Bool_t first=kTRUE;
for(Int_t i=0;i<TOFINO_MAXMODS;i++) {
if (initModules->At(i)) {
if (first) {
cout<<contName<<": module(s) initialized from Oracle: ";
first=kFALSE;
}
cout<<(initModules->At(i)-1)<<" ";
}
}
cout<<'\n';
}
Last change: Sat May 22 13:16:50 2010
Last generated: 2010-05-22 13:16
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.