#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[17];
};
static const struct sqlcxp sqlfpn =
{
16,
"hmdcparora2io.pc"
};
static unsigned int sqlctx = 4763427;
static struct sqlexd {
unsigned long 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;
unsigned char **sqphsv;
unsigned long *sqphsl;
int *sqphss;
short **sqpind;
int *sqpins;
unsigned long *sqparm;
unsigned long **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;
unsigned int sqlpfmem;
unsigned char *sqhstv[13];
unsigned long sqhstl[13];
int sqhsts[13];
short *sqindv[13];
int sqinds[13];
unsigned long sqharm[13];
unsigned long *sqharc[13];
unsigned short sqadto[13];
unsigned short sqtdso[13];
} sqlstm = {13,13};
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(unsigned char *, signed int *); }
static const char *sq0004 =
"select sector ,plane ,mbo_index ,tdc_nr ,tdc_chan ,layer_nr ,wire_nr ,readou\
t_side from mdc_ana2.mdclookupgeom_at_histdate ";
static const char *sq0012 =
"select sector ,plane ,mbo_index ,mbo ,tdc ,chan ,slope ,slope_err ,slope_met\
hod ,offset ,offset_err ,offset_method from mdc_ana2.mdccal1par_data where ve\
rsion=:b0 ";
static const char *sq0013 =
"select sector ,plane ,angle_step ,distance_bin ,drifttime1 ,drifttime2 ,drif\
ttime1_err ,drifttime2_err from mdc_ana2.mdccal2parsim_data where version=:b0\
";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{13,4130,1,0,0,
5,0,0,1,113,0,4,124,0,0,5,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,
40,0,0,2,77,0,4,169,0,0,3,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,
67,0,0,3,78,0,4,214,0,0,2,0,0,1,0,2,4,0,0,2,4,0,0,
90,0,0,4,135,0,9,255,0,0,0,0,0,1,0,
105,0,0,4,0,0,13,258,0,0,8,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,
0,0,2,3,0,0,2,97,0,0,
152,0,0,4,0,0,15,278,0,0,0,0,0,1,0,
167,0,0,5,95,0,4,334,0,0,3,0,0,1,0,2,3,0,0,2,3,0,0,2,9,0,0,
194,0,0,6,92,0,4,389,0,0,3,0,0,1,0,2,3,0,0,2,3,0,0,2,9,0,0,
221,0,0,7,168,0,4,438,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
252,0,0,8,171,0,4,446,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
283,0,0,9,173,0,4,454,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
314,0,0,10,168,0,4,462,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
345,0,0,11,168,0,4,470,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
376,0,0,12,174,0,9,526,0,0,1,1,0,1,0,1,3,0,0,
395,0,0,12,0,0,13,529,0,0,12,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,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,
458,0,0,12,0,0,15,550,0,0,0,0,0,1,0,
473,0,0,13,165,0,9,596,0,0,1,1,0,1,0,1,3,0,0,
492,0,0,13,0,0,13,599,0,0,8,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,4,0,0,2,
4,0,0,2,4,0,0,2,4,0,0,
539,0,0,13,0,0,15,629,0,0,0,0,0,1,0,
554,0,0,14,217,0,4,667,0,0,9,1,0,1,0,2,3,0,0,2,3,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,1,3,0,0,
605,0,0,15,104,0,4,718,0,0,5,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
640,0,0,16,262,0,4,769,0,0,13,1,0,1,0,2,3,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,2,4,0,0,2,4,0,0,1,3,0,0,
707,0,0,17,70,0,4,824,0,0,2,1,0,1,0,2,3,0,0,1,3,0,0,
730,0,0,18,149,0,4,829,0,0,6,1,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,1,
3,0,0,
769,0,0,19,69,0,4,880,0,0,2,1,0,1,0,2,3,0,0,1,3,0,0,
792,0,0,20,164,0,4,885,0,0,7,1,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,
3,0,0,1,3,0,0,
835,0,0,21,239,0,6,946,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,
870,0,0,22,239,0,6,956,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,
905,0,0,23,239,0,6,966,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,
940,0,0,24,242,0,6,976,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,
975,0,0,25,244,0,6,986,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,
1010,0,0,26,205,0,6,996,0,0,3,3,0,1,0,3,3,0,0,1,97,0,0,1,97,0,0,
1037,0,0,27,196,0,6,1006,0,0,3,3,0,1,0,3,3,0,0,1,97,0,0,1,97,0,0,
1064,0,0,28,195,0,6,1016,0,0,3,3,0,1,0,3,3,0,0,1,97,0,0,1,97,0,0,
1091,0,0,29,219,0,3,1100,0,0,12,12,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,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,
1154,0,0,30,96,0,3,1153,0,0,5,5,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,4,0,0,1,4,0,0,
1189,0,0,31,271,0,3,1216,0,0,13,13,0,1,0,1,3,0,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,
1256,0,0,32,217,0,3,1277,0,0,9,9,0,1,0,1,3,0,0,1,3,0,0,1,3,0,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,
1307,0,0,33,235,0,3,1341,0,0,9,9,0,1,0,1,3,0,0,1,3,0,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,
1358,0,0,34,195,0,3,1405,0,0,8,8,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
1,3,0,0,1,3,0,0,1,3,0,0,
1405,0,0,35,80,0,6,1416,0,0,1,1,0,1,0,1,3,0,0,
1424,0,0,36,92,0,4,1442,0,0,3,2,0,1,0,2,3,0,0,1,3,0,0,1,3,0,0,
1451,0,0,37,148,0,3,1503,0,0,6,6,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
1,3,0,0,
1490,0,0,38,166,0,3,1558,0,0,7,7,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
1,3,0,0,1,3,0,0,
};
using namespace std;
#include "hmdcparora2io.h"
#include "hmdcrawstruct.h"
#include "hmdcgeomstruct.h"
#include "hmdccalparraw.h"
#include "hmdclookupgeom.h"
#include "hmdclayergeompar.h"
#include "hmdcgeompar.h"
#include "hgeomcompositevolume.h"
#include "hmdccelleff.h"
#include "hmdctimecut.h"
#include "hmdccal2parsim.h"
#include "hmdctdcthreshold.h"
#include "hmdctdcchannel.h"
#include "hora2geomdetversion.h"
#include "hparora2set.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(HMdcParOra2Io)
#define MDC_MAXMODS 24
#define MDC_MAXPLANES 4
#define MDC_MAXMOTHS 384
#define MDC_MAXLAYS 24
#define MDC_MAXTOTLAYS 144
#define MDC_MAXWIRES 1320
#define MDC_MAXCHAN 1536
#define MDC_MAXARR 5000
#define MDC_MAXSMALLARR 50
HMdcParOra2Io::HMdcParOra2Io(HOra2Conn* pC) : HDetParOra2Io(pC) {
fName="HMdcParIo";
initModules=new TArrayI(MDC_MAXMODS);
geomVers=0;
}
HMdcParOra2Io::~HMdcParOra2Io() {
if (initModules) delete initModules;
if (geomVers) delete geomVers;
}
Bool_t HMdcParOra2Io::init(HParSet* pPar,Int_t* set) {
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HMdcRawStruct")==0) return read((HMdcRawStruct*)pPar,set);
if (strcmp(name,"HMdcGeomStruct")==0) return read((HMdcGeomStruct*)pPar,set);
if (strcmp(name,"HMdcTdcThreshold")==0) return read((HMdcTdcThreshold*)pPar,set);
if (strcmp(name,"HMdcTdcChannel")==0) return read((HMdcTdcChannel*)pPar,set);
if (getRunStart(pPar)<0) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
if (strcmp(name,"HMdcLookupGeom")==0) return read((HMdcLookupGeom*)pPar,set);
if (strcmp(name,"HMdcGeomPar")==0) return read((HMdcGeomPar*)pPar,set);
if (strcmp(name,"HMdcCalParRaw")==0) return read((HMdcCalParRaw*)pPar,set);
if (strcmp(name,"HMdcCal2ParSim")==0) return read((HMdcCal2ParSim*)pPar,set);
if (strcmp(name,"HMdcLayerGeomPar")==0) return read((HMdcLayerGeomPar*)pPar,set);
if (strcmp(name,"HMdcCellEff")==0) return read((HMdcCellEff*)pPar,set);
if (strcmp(name,"HMdcTimeCut")==0) return read((HMdcTimeCut*)pPar,set);
;
cout<<"initialization of "<<name<<" not possible from Oracle!"<<endl;
return kFALSE;
}
Int_t HMdcParOra2Io::write(HParSet* pPar) {
if (getRunStart(pPar)<=0) return -1;
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HMdcCalParRaw")==0) return writePar((HMdcCalParRaw*)pPar);
if (strcmp(name,"HMdcCellEff")==0) return writePar((HMdcCellEff*)pPar);
if (strcmp(name,"HMdcTimeCut")==0) return writePar((HMdcTimeCut*)pPar);
if (strcmp(name,"HMdcGeomPar")==0) return writeAlignment((HMdcGeomPar*)pPar);
if (strcmp(name,"HMdcCal2ParSim")==0) return writePar((HMdcCal2ParSim*)pPar);
if (strcmp(name,"HMdcLayerGeomPar")==0) return writePar((HMdcLayerGeomPar*)pPar);
if (strcmp(name,"HMdcLookupGeom")==0) return writePar((HMdcLookupGeom*)pPar);
if (strcmp(name,"HMdcTdcThreshold")==0) return writePar((HMdcTdcThreshold*)pPar);
if (strcmp(name,"HMdcTdcChannel")==0) return writePar((HMdcTdcChannel*)pPar);
cout<<"No write-interface to Oracle for parameter container "
<<pPar->GetName()<<endl;
return 0;
}
Bool_t HMdcParOra2Io::read(HMdcRawStruct* pPar,Int_t* set) {
struct {
int sec[MDC_MAXMOTHS];
int pla[MDC_MAXMOTHS];
int mboindex[MDC_MAXMOTHS];
int mbo[MDC_MAXMOTHS];
int nChan[MDC_MAXMOTHS];
} moths;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,mbo_index ,mbo ,num_tdc_channels into\
:s1 ,:s2 ,:s3 ,:s4 ,:s5 from mdc_ana2.mdcrawstruct ";
sqlstm.iters = (unsigned int )384;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)moths.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)moths.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)moths.mboindex;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)moths.mbo;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)moths.nChan;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)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("read(HMdcRawStruct*,Int_t*)");
}
Bool_t allFound=kTRUE;
initModules->Reset();
Int_t s, p, pos, k=-1;
Char_t mboName[4];
Int_t numMbos=sqlca.sqlerrd[2];
for(Int_t i=0;i<numMbos;i++) {
s=moths.sec[i]-1;
p=moths.pla[i]-1;
pos=s*4+p;
if (set[pos]) {
sprintf(mboName,"%3i",moths.mbo[i]);
k=moths.mboindex[i];
HMdcRawMothStru& mo=(*pPar)[s][p][k];
mo.SetName(mboName);
mo.setNTdcs(moths.nChan[i]);
initModules->AddAt(1,pos);
}
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,1);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcGeomStruct* pPar,Int_t* set) {
struct {
int pla[MDC_MAXLAYS];
int lay[MDC_MAXLAYS];
int nWir[MDC_MAXLAYS];
} layers;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select plane ,layer_nr ,n_wires into :s1 ,:s2 ,:s3 from m\
dc_ana2.mdc_layer ";
sqlstm.iters = (unsigned int )24;
sqlstm.offset = (unsigned int )40;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)layers.pla;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)layers.lay;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)layers.nWir;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)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(HMdcGeomStruct*,Int_t*)");
}
Bool_t allFound=kTRUE;
initModules->Reset();
Int_t p, pos;
Int_t numLayers=sqlca.sqlerrd[2];
for(Int_t i=0;i<numLayers;i++) {
p=layers.pla[i]-1;
for(Int_t s=0;s<6;s++) {
pos=s*4+p;
if (set[pos]) {
(*pPar)[s][p].fill((layers.lay[i]-1),layers.nWir[i]);
initModules->AddAt(1,pos);
}
}
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,1);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Int_t HMdcParOra2Io::getLookupVersion(HMdcLookupGeom* pPar) {
HParOra2Set* oraSet=getOraSet(pPar);
Int_t contVers=pPar->getInputVersion(inputNumber);
if (contVers!=-1 && runStart>=oraSet->versDate[0] && runStart<=oraSet->versDate[1])
return contVers;
oraSet->clearVersDate();
double since;
double until;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select max_since ,min_until into :b0,:b1 from mdc_ana2.fpc\
_loc_timerange_ana ";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )67;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&since;
sqlstm.sqhstl[0] = (unsigned long )sizeof(double);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&until;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )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(Int_t)");
}
oraSet->versDate[0]=since;
oraSet->versDate[1]=until;
return getActRunId();
notfound:
return -1;
}
Bool_t HMdcParOra2Io::read(HMdcLookupGeom* pPar, Int_t* set) {
Int_t contVers=pPar->getInputVersion(inputNumber);
Int_t version=getLookupVersion(pPar);
if (version==-1) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
if (contVers==version) return kTRUE;
pPar->clear();
struct {
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mboindex[MDC_MAXARR];
int tdc[MDC_MAXARR];
int chan[MDC_MAXARR];
int lay[MDC_MAXARR];
int wire[MDC_MAXARR];
char side[MDC_MAXARR][2];
} lookup;
Bool_t isOpenCursor=kFALSE;
initModules->Reset();
Int_t s=-1, p=-1, pos=-1, mo=-1, ch=-1, nTot=0, nLast=0;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 5;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0004;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )90;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HMdcLookupGeom*,Int_t*)");
}
isOpenCursor=kTRUE;
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )105;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)lookup.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)lookup.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)lookup.mboindex;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)lookup.tdc;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)lookup.chan;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)lookup.lay;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)lookup.wire;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)lookup.side;
sqlstm.sqhstl[7] = (unsigned long )2;
sqlstm.sqhsts[7] = ( int )2;
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (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(HMdcLookupGeom*,Int_t*)");
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
for (Int_t i=0;i<nLast;i++) {
s=lookup.sec[i]-1;
p=lookup.pla[i]-1;
pos=s*4+p;
if (set[pos]) {
mo=lookup.mboindex[i];
ch=(lookup.tdc[i]-1)*8 + lookup.chan[i] - 1;
(*pPar)[s][p][mo][ch].fill((lookup.lay[i]-1),(lookup.wire[i]-1),
(Char_t)(lookup.side[i][0]));
initModules->AddAt(1,pos);
}
nTot++;
}
}
} while (nLast==MDC_MAXARR&&nTot<=30000);
Bool_t allFound=kTRUE;
if (isOpenCursor) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )152;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HMdcLookupGeom*,Int_t*)");
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
} else allFound=kFALSE;
if (allFound) {
setChanged(pPar);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcGeomPar* pPar, Int_t* set) {
Bool_t allFound=kTRUE;
Int_t detId=-1;
if (!geomVers) {
detId=getDetectorId(pPar->getDetectorName());
geomVers=new HOra2GeomDetVersion(pPar->getDetectorName(),detId);
} else {
detId=geomVers->getDetectorId();
}
if (detId<=0) {
allFound=kFALSE;
delete geomVers;
geomVers=0;
}
if (detId>0&&pPar->isFirstInitialization()) {
if (!readModGeomNames(pPar,set) || !readLayerGeomNames(pPar,set)) {
allFound=kFALSE;
pPar->clear();
} else addGeomOraSet(pPar);
}
if (allFound) allFound=readDetectorGeometry(pPar,set,geomVers);
return allFound;
}
Bool_t HMdcParOra2Io::readModGeomNames(HMdcGeomPar* pPar,Int_t* set) {
struct {
int sec[MDC_MAXMODS];
int pla[MDC_MAXMODS];
struct { unsigned short len; unsigned char arr[10]; } oname[24];
} mods;
struct {
short sec_Ind[MDC_MAXMODS];
short pla_Ind[MDC_MAXMODS];
short oname_Ind[MDC_MAXMODS];
} mods_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,geom_obj into :s1:s2 ,:s3:s4 ,:s5:s6 \
from mdc_ana2.mdc_loc_at_histdate ";
sqlstm.iters = (unsigned int )24;
sqlstm.offset = (unsigned int )167;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)mods.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)mods_Ind.sec_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)mods.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)mods_Ind.pla_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)mods.oname;
sqlstm.sqhstl[2] = (unsigned long )11;
sqlstm.sqhsts[2] = ( int )12;
sqlstm.sqindv[2] = ( short *)mods_Ind.oname_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)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("readModGeomNames()");
}
Int_t nMods=sqlca.sqlerrd[2];
Int_t pos, s, m;
Char_t ref[10];
Bool_t allFound=kTRUE;
initModules->Reset();
for(Int_t i=0;i<nMods;i++) {
s=mods.sec[i]-1;
m=mods.pla[i]-1;
HModGeomPar* pMod=pPar->getModule(s,m);
pos=s*4 + m;
if (pMod && set[pos]) {
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(1,pos);
strcpy(ref,(Char_t*)(mods.oname[i].arr));
ref[4]='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);
}
}
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
return allFound;
}
Bool_t HMdcParOra2Io::readLayerGeomNames(HMdcGeomPar* pPar,Int_t* set) {
struct {
int pla[MDC_MAXLAYS];
int lay[MDC_MAXLAYS];
struct { unsigned short len; unsigned char arr[10]; } oname[24];
} layers;
struct {
short pla_Ind[MDC_MAXLAYS];
short lay_Ind[MDC_MAXLAYS];
short oname_Ind[MDC_MAXLAYS];
} layers_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select plane ,layer_nr ,geom_obj_name into :s1:s2 ,:s3:s4 ,\
:s5:s6 from mdc_ana2.mdc_layer ";
sqlstm.iters = (unsigned int )24;
sqlstm.offset = (unsigned int )194;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)layers.pla;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)layers_Ind.pla_Ind;
sqlstm.sqinds[0] = ( int )sizeof(short);
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)layers.lay;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)layers_Ind.lay_Ind;
sqlstm.sqinds[1] = ( int )sizeof(short);
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)layers.oname;
sqlstm.sqhstl[2] = (unsigned long )11;
sqlstm.sqhsts[2] = ( int )12;
sqlstm.sqindv[2] = ( short *)layers_Ind.oname_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)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("readLayerGeomNames(...)");
}
Int_t numLayers=sqlca.sqlerrd[2];
if (numLayers<MDC_MAXLAYS) return kFALSE;
for(Int_t i=0;i<numLayers;i++) {
if (layers_Ind.oname_Ind[i]!=-1) {
layers.oname[i].arr[layers.oname[i].len]='\0';
for(Int_t s=0;s<6;s++) {
HModGeomPar* pMod=pPar->getModule(s,layers.pla[i]-1);
if (pMod) {
HGeomVolume* volu=pMod->getRefVolume()->getComponent((layers.lay[i]-1));
volu->SetName((Char_t*)(layers.oname[i].arr));
break;
}
}
}
}
return kTRUE;
}
Bool_t HMdcParOra2Io::getVersion(HParSet* pPar, Int_t& version) {
HParOra2Set* oraSet=getOraSet(pPar);
if (oraSet->contextId==-1 || runStart==-1) {
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
}
Int_t contVers=pPar->getInputVersion(inputNumber);
if (contVers!=-1 && runStart>=oraSet->versDate[0] && runStart<=oraSet->versDate[1]) {
version=contVers;
return kFALSE;
}
const Char_t* containerClass=pPar->IsA()->GetName();
oraSet->clearVersDate();
int context;
int vers;
double since;
double until;
context=oraSet->contextId;
if (strcmp(containerClass,"HMdcCalParRaw")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,han\
adate.date_to_number(valid_until) into :b0,:b1,:b2 from mdc_ana2.cal1par_vers\
_at_histdate where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )221;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )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("getVersion(HParSet*,Int_t&)");
}
} else {
if (strcmp(containerClass,"HMdcCal2ParSim")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,h\
anadate.date_to_number(valid_until) into :b0,:b1,:b2 from mdc_ana2.cal2parsim\
_vers_at_histdate where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )252;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )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("getVersion(HParSet*,Int_t&)");
}
} else {
if (strcmp(containerClass,"HMdcLayerGeomPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) \
,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from mdc_ana2.layergeo\
mpar_vers_at_histdate where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )283;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )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("getVersion(HParSet*,Int_t&)");
}
} else {
if (strcmp(containerClass,"HMdcCellEff")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since\
) ,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from mdc_ana2.cellef\
f_vers_at_histdate where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )314;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )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("getVersion(HParSet*,Int_t&)");
}
} else {
if (strcmp(containerClass,"HMdcTimeCut")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_sin\
ce) ,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from mdc_ana2.time\
cut_vers_at_histdate where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )345;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )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("getVersion(HParSet*,Int_t&)");
}
}
}
}
}
}
version=vers;
oraSet->versDate[0]=since;
oraSet->versDate[1]=until;
return kTRUE;
notfound:
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
}
Bool_t HMdcParOra2Io::read(HMdcCalParRaw* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mboindex[MDC_MAXARR];
int mbo[MDC_MAXARR];
int tdc[MDC_MAXARR];
int chan[MDC_MAXARR];
float sl[MDC_MAXARR];
float sE[MDC_MAXARR];
float sM[MDC_MAXARR];
float o[MDC_MAXARR];
float oE[MDC_MAXARR];
float oM[MDC_MAXARR];
} cal;
Bool_t isOpenCursor=kFALSE;
Int_t s=-1, p=-1, pos=-1, mo=-1, ch=-1, nTot=0, nLast=0;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0012;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )376;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )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("read(HMdcCalParRaw*,Int_t*)");
}
isOpenCursor=kTRUE;
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )395;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)cal.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)cal.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)cal.mboindex;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)cal.mbo;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)cal.tdc;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)cal.chan;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)cal.sl;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)cal.sE;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)cal.sM;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = (unsigned char *)cal.o;
sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned long )0;
sqlstm.sqharc[9] = (unsigned long *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = (unsigned char *)cal.oE;
sqlstm.sqhstl[10] = (unsigned long )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned long )0;
sqlstm.sqharc[10] = (unsigned long *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = (unsigned char *)cal.oM;
sqlstm.sqhstl[11] = (unsigned long )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[11] = (unsigned long )0;
sqlstm.sqharc[11] = (unsigned long *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (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(HMdcCalParRaw*,Int_t*)");
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
for (Int_t i=0;i<nLast;i++) {
s=cal.sec[i]-1;
p=cal.pla[i]-1;
pos=s*4+p;
if (set[pos]) {
mo=cal.mboindex[i];
ch=(cal.tdc[i]-1)*8 + cal.chan[i] - 1;
(*pPar)[s][p][mo][ch].fill(cal.sl[i],cal.o[i],
cal.sE[i],cal.oE[i],
(Int_t)cal.sM[i],(Int_t)cal.oM[i]);
initModules->AddAt(1,pos);
}
nTot++;
}
}
} while (nLast==MDC_MAXARR&&nTot<=30000);
Bool_t allFound=kTRUE;
if (isOpenCursor) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )458;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HMdcCalParRaw*,Int_t*)");
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
} else allFound=kFALSE;
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcCal2ParSim* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int angle[MDC_MAXARR];
int dbin[MDC_MAXARR];
float d1[MDC_MAXARR];
float d2[MDC_MAXARR];
float d1e[MDC_MAXARR];
float d2e[MDC_MAXARR];
} cal2;
Bool_t isOpenCursor=kFALSE;
Int_t s=-1, p=-1, pos=-1, nAngles=-1, a=-1, b=-1, nTot=0, nLast=0;
Int_t nBins=pPar->getNumberOfBins();
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0013;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )473;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )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("read(HMdcCal2ParSim*,Int_t*)");
}
isOpenCursor=kTRUE;
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )492;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)cal2.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)cal2.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)cal2.angle;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)cal2.dbin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)cal2.d1;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)cal2.d2;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)cal2.d1e;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)cal2.d2e;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (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(HMdcCal2ParSim*,Int_t*)");
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
for (Int_t i=0;i<nLast;i++) {
s=cal2.sec[i]-1;
p=cal2.pla[i]-1;
pos=s*4+p;
if (set[pos]) {
HMdcCal2ParModSim& mod=(*pPar)[s][p];
nAngles=mod.getSize();
a=cal2.angle[i];
b=cal2.dbin[i];
if (b>nBins || a > nAngles) {
Error("read(HMdcCal2ParSim,Int_t*)",
"Buffer size exceeded!");
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
mod[a].setDriftTime1(b,cal2.d1[i]);
mod[a].setDriftTime2(b,cal2.d2[i]);
mod[a].setDriftTime1Error(b,cal2.d1e[i]);
mod[a].setDriftTime2Error(b,cal2.d2e[i]);
initModules->AddAt(1,pos);
}
nTot++;
}
}
} while (nLast==MDC_MAXARR&&nTot<=500000);
Bool_t allFound=kTRUE;
if (isOpenCursor) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )539;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HMdcCal2ParSim*,Int_t*)");
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
} else allFound=kFALSE;
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcLayerGeomPar* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int sec[MDC_MAXTOTLAYS];
int pla[MDC_MAXTOTLAYS];
int lay[MDC_MAXTOTLAYS];
float dist[MDC_MAXTOTLAYS];
float pitch[MDC_MAXTOTLAYS];
float angle[MDC_MAXTOTLAYS];
float cwire[MDC_MAXTOTLAYS];
float cathth[MDC_MAXTOTLAYS];
} layers;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,layer_nr ,cell_thickness ,cell_pitch \
,inclination_angle ,central_wire_nr ,cathode_wire_thickness into :s1 ,:s2 ,:s3\
,:s4 ,:s5 ,:s6 ,:s7 ,:s8 from mdc_ana2.mdclayergeompar_data where version=:\
b1";
sqlstm.iters = (unsigned int )144;
sqlstm.offset = (unsigned int )554;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)layers.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)layers.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)layers.lay;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)layers.dist;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)layers.pitch;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)layers.angle;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)layers.cwire;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)layers.cathth;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)&vers;
sqlstm.sqhstl[8] = (unsigned long )sizeof(int);
sqlstm.sqhsts[8] = ( int )sizeof(int);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (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(HMdcLayerGeomPar*,Int_t*)");
}
Int_t nData=sqlca.sqlerrd[2];
Int_t s=-1, p=-1, pos=-1;
for (Int_t i=0;i<nData;i++) {
s=layers.sec[i]-1;
p=layers.pla[i]-1;
pos=s*4+p;
if (set[pos]) {
(*pPar)[s][p][layers.lay[i]-1].fill(layers.pitch[i],layers.dist[i],
layers.angle[i],layers.cwire[i],
layers.cathth[i]);
initModules->AddAt(1,pos);
}
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcCellEff* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int plane[MDC_MAXARR];
float an[MDC_MAXARR];
float mr[MDC_MAXARR];
float sl[MDC_MAXARR];
} eff;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select plane ,angle ,max_r ,slope into :s1 ,:s2 ,:s3 ,:s4 \
from mdc_ana2.celleff_data where vers_id=:b1";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )605;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)eff.plane;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)eff.an;
sqlstm.sqhstl[1] = (unsigned long )sizeof(float);
sqlstm.sqhsts[1] = ( int )sizeof(float);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)eff.mr;
sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)eff.sl;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)&vers;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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("read(HMdcCellEff*,Int_t*)");
}
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
Int_t p=eff.plane[i]-1;
(*pPar)[p][(Int_t)eff.an[i]].setFunctionValues(eff.mr[i],eff.sl[i]);
initModules->AddAt(1,p);
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<MDC_MAXPLANES;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
};
Bool_t HMdcParOra2Io::read(HMdcTimeCut* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int sec[MDC_MAXMODS];
int pla[MDC_MAXMODS];
float ct1l[MDC_MAXMODS];
float ct1r[MDC_MAXMODS];
float ct2l[MDC_MAXMODS];
float ct2r[MDC_MAXMODS];
float cl[MDC_MAXMODS];
float cr[MDC_MAXMODS];
float cBumpt1l[MDC_MAXMODS];
float cBumpt1r[MDC_MAXMODS];
float cBumptotl[MDC_MAXMODS];
float cBumptotr[MDC_MAXMODS];
} tcuts;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,cut_t1_l ,cut_t1_r ,cut_t2_l ,cut_t2_\
r ,cut_left ,cut_right ,cut_bump_t1_l ,cut_bump_t1_r ,cut_bump_tot_l ,cut_bump\
_tot_r into :s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 ,:s7 ,:s8 ,:s9 ,:s10 ,:s11 ,:s12 fr\
om mdc_ana2.mdctimecut_data d where version=:b1";
sqlstm.iters = (unsigned int )24;
sqlstm.offset = (unsigned int )640;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)tcuts.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)tcuts.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)tcuts.ct1l;
sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)tcuts.ct1r;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)tcuts.ct2l;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)tcuts.ct2r;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)tcuts.cl;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)tcuts.cr;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)tcuts.cBumpt1l;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = (unsigned char *)tcuts.cBumpt1r;
sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned long )0;
sqlstm.sqharc[9] = (unsigned long *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = (unsigned char *)tcuts.cBumptotl;
sqlstm.sqhstl[10] = (unsigned long )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned long )0;
sqlstm.sqharc[10] = (unsigned long *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = (unsigned char *)tcuts.cBumptotr;
sqlstm.sqhstl[11] = (unsigned long )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[11] = (unsigned long )0;
sqlstm.sqharc[11] = (unsigned long *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (unsigned short )0;
sqlstm.sqhstv[12] = (unsigned char *)&vers;
sqlstm.sqhstl[12] = (unsigned long )sizeof(int);
sqlstm.sqhsts[12] = ( int )sizeof(int);
sqlstm.sqindv[12] = ( short *)0;
sqlstm.sqinds[12] = ( int )0;
sqlstm.sqharm[12] = (unsigned long )0;
sqlstm.sqadto[12] = (unsigned short )0;
sqlstm.sqtdso[12] = (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(HMdcTimeCut*,Int_t*)");
}
Int_t pos;
for(Int_t k=0;k<sqlca.sqlerrd[2];k++) {
Int_t s=tcuts.sec[k]-1;
Int_t p=tcuts.pla[k]-1;
pos=s*4+p;
if (set[pos]) {
(*pPar)[s][p].fill(tcuts.ct1l[k],tcuts.ct1r[k],tcuts.ct2l[k],tcuts.ct2r[k],
tcuts.cl[k],tcuts.cr[k],tcuts.cBumpt1l[k],tcuts.cBumpt1r[k],tcuts.cBumptotl[k],tcuts.cBumptotr[k]);
initModules->AddAt(1,pos);
}
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcTdcThreshold* pPar,Int_t* set) {
Int_t contVers=pPar->getOraVersion();
if (contVers==-1) {
Error("read(HMdcTdcThreshold*,Int_t*)","Specify Oracle input version!");
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
pPar->clear();
initModules->Reset();
int vers;
int status;
struct {
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mbo[MDC_MAXARR];
int dbo[MDC_MAXARR];
int thr[MDC_MAXARR];
} thrdata;
Int_t s, p, pos;
Bool_t allFound=kTRUE;
vers=contVers;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select status into :b0 from mdc_ana2.threshold_vers where \
vers_id=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )707;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&status;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&vers;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )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(HMdcTdcThreshold*,Int_t*)");
}
pPar->setStatus(status);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,mbo_local_index ,dbo_local_pos_id ,th\
reshold into :s1 ,:s2 ,:s3 ,:s4 ,:s5 from mdc_ana2.threshold_data_view where\
vers_id=:b1";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )730;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)thrdata.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)thrdata.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)thrdata.mbo;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)thrdata.dbo;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)thrdata.thr;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)&vers;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )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(HMdcTdcThreshold*,Int_t*)");
}
for (Int_t i=0;i<sqlca.sqlerrd[2];i++) {
s=thrdata.sec[i]-1;
p=thrdata.pla[i]-1;
pos=s*4+p;
if (set[pos]>0) {
initModules->AddAt(1,pos);
(*pPar)[s][p][thrdata.mbo[i]][thrdata.dbo[i]-1].setThreshold(thrdata.thr[i]);
}
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,contVers);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HMdcParOra2Io::read(HMdcTdcChannel* pPar, Int_t* set) {
Int_t contVers=pPar->getOraVersion();
if (contVers==-1) {
Error("read(HMdcTdcChannels*,Int_t*)","Specify Oracle input version!");
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
initModules->Reset();
int vers;
int status;
struct {
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mbo[MDC_MAXARR];
int tdc[MDC_MAXARR];
int mask[MDC_MAXARR];
int cal[MDC_MAXARR];
} maskdata;
Int_t s, p, pos;
Bool_t allFound=kTRUE;
vers=contVers;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select status into :b0 from mdc_ana2.tdc_mask_vers where v\
ers_id=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )769;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&status;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&vers;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )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(HMdcTdcChannel*,Int_t*)");
}
pPar->setStatus(status);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector ,plane ,mbo_local_index ,tdc_nr ,channel_mask\
,calibration_mask into :s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 from mdc_ana2.tdc_mask_\
data_view where vers_id=:b1";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )792;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)maskdata.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)maskdata.pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)maskdata.mbo;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)maskdata.tdc;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)maskdata.mask;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)maskdata.cal;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)&vers;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (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(HMdcTdcChannel*,Int_t*)");
}
for (Int_t i=0;i<sqlca.sqlerrd[2];i++) {
s=maskdata.sec[i]-1;
p=maskdata.pla[i]-1;
pos=s*4+p;
if (set[pos]>0) {
initModules->AddAt(1,pos);
HMdcTdcChannelTdc& rTdc=(*pPar)[s][p][maskdata.mbo[i]][maskdata.tdc[i]-1];
rTdc.fill(maskdata.mask[i],1);
rTdc.fill(maskdata.cal[i],0);
}
}
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (set[i]==1 && initModules->At(i)==0) allFound=kFALSE;
}
if (allFound) {
setChanged(pPar,contVers);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Int_t HMdcParOra2Io::createVersion(HParSet* pPar) {
if (strlen(pPar->getAuthor())==0) {
Error("createVersion(HParSet*)",
"%s: author not defined\n",pPar->GetName());
return -1;
}
if (strlen(pPar->getDescription())==0) {
Error("createVersion(HParSet*)",
"%s: description not defined\n",pPar->GetName());
return -1;
}
int vers=-1;
int context;
int run;
char* creator;
char* descript;
const Char_t* contName=pPar->IsA()->GetName();
if ((strcmp(contName,"HMdcLookupGeom") != 0)
&&(strcmp(contName,"HMdcTdcThreshold") != 0)
&& (strcmp(contName,"HMdcTdcChannel") != 0) ) {
context = getContextId(pPar->IsA()->GetName(),pPar->getParamContext());
if (context==-1) return -1;
}
run=getActRunId();
creator=(Char_t*)pPar->getAuthor();
descript=(Char_t*)pPar->getDescription();
if (strcmp(contName,"HMdcCalParRaw")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_version INTO\
:vers FROM DUAL ; INSERT INTO mdc_ana2 . cal1par_vers ( vers_id , orig_contex\
t_id , run_id , author , description ) VALUES ( :vers , :context , :run , :cre\
ator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )835;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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;
}
} else {
if (strcmp(contName,"HMdcCellEff")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_version IN\
TO :vers FROM DUAL ; INSERT INTO mdc_ana2 . celleff_vers ( vers_id , orig_cont\
ext_id , run_id , author , description ) VALUES ( :vers , :context , :run , :c\
reator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )870;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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;
}
} else {
if (strcmp(contName,"HMdcTimeCut")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_version \
INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . timecut_vers ( vers_id , orig_co\
ntext_id , run_id , author , description ) VALUES ( :vers , :context , :run , \
:creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )905;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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;
}
} else {
if (strcmp(contName,"HMdcCal2ParSim")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_versio\
n INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . cal2parsim_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 )940;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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;
}
} else {
if (strcmp(contName,"HMdcLayerGeomPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_vers\
ion INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . layergeompar_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 )975;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )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;
}
} else {
if (strcmp(contName,"HMdcLookupGeom") == 0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_ve\
rsion INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . load_mdclookupgeom_vers ( \
vers_id , author , description ) VALUES ( :vers , :creator , :descript ) ; END\
;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )1010;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)creator;
sqlstm.sqhstl[1] = (unsigned long )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)descript;
sqlstm.sqhstl[2] = (unsigned long )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )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 == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
} else {
if (strcmp(contName,"HMdcTdcThreshold") == 0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . next_\
version INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . threshold_vers ( vers_id\
, author , description ) VALUES ( :vers , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )1037;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)creator;
sqlstm.sqhstl[1] = (unsigned long )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)descript;
sqlstm.sqhstl[2] = (unsigned long )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )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 == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
} else {
if (strcmp(contName,"HMdcTdcChannel") == 0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT mdc_ana2 . mdc_par_query . nex\
t_version INTO :vers FROM DUAL ; INSERT INTO mdc_ana2 . tdc_mask_vers ( vers_i\
d , author , description ) VALUES ( :vers , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )1064;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)creator;
sqlstm.sqhstl[1] = (unsigned long )0;
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)descript;
sqlstm.sqhstl[2] = (unsigned long )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )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 == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
}
}
}
}
}
}
}
}
cout<<"Oracle version for "<<pPar->GetName()<<" created: "<<vers<<endl;
return vers;
not_found:
showSqlError("createVersion(HParSet*)");
return vers;
}
Int_t HMdcParOra2Io::writePar(HMdcCalParRaw* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int sec[MDC_MAXCHAN];
int pla[MDC_MAXCHAN];
int mbo[MDC_MAXCHAN];
int tdc[MDC_MAXCHAN];
int chan[MDC_MAXCHAN];
int vers[MDC_MAXCHAN];
float sl[MDC_MAXCHAN];
float sE[MDC_MAXCHAN];
float sM[MDC_MAXCHAN];
float o[MDC_MAXCHAN];
float oE[MDC_MAXCHAN];
float oM[MDC_MAXCHAN];
int rows_to_insert;
Int_t mboInd;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcCalParRawSec& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcCalParRawMod& rMod= rSec[m];
Int_t nChan=0;
for(Int_t l=0; l<rMod.getSize(); l++) {
HMdcCalParMbo& rMbo= rMod[l];
const Char_t* mboName=rMbo.GetName();
sscanf(mboName,"%i",&mboInd);
for(Int_t c=0; c<rMbo.getSize(); c++) {
HMdcCalParTdc& ch= rMbo[c];
Int_t tN=(Int_t)(c/8);
Int_t cN=c-tN*8;
vers[nChan]=version;
sec[nChan]=s+1;
pla[nChan]=m+1;
mbo[nChan]=mboInd;
tdc[nChan]=tN+1;
chan[nChan]=cN+1;
sl[nChan]=ch.getSlope();
sE[nChan]=ch.getSlopeErr();
sM[nChan]=ch.getSlopeMethod();
o[nChan]=ch.getOffset();
oE[nChan]=ch.getOffsetErr();
oM[nChan]=ch.getOffsetMethod();
nChan++;
}
}
if (nChan>0) {
rows_to_insert=nChan;
Int_t nChanO=countTdcChannels(s,m);
if (nChan!=nChanO) {
Error("writePar(HMdcCalParRaw*)",
"\n sector: %i plane: %i Number of Tdc channels in Oracle: %i"
"\n Number of Tdc channels in MdcCalParRaw: %i\n",
s,m,nChanO,nChan);
rollback();
return -1;
}
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.cal1par_data (tdc_channel_id,ver\
s_id,slope,slope_err,slope_method,offset,offset_err,offset_method) values (mdc\
_ana2.mdc_par_query.get_tdc_chan_id(:b1,:b2,:b3,:b4,:b5),:b6,:b7,:b8,:b9,:b10,\
:b11,:b12)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1091;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)pla;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)mbo;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)tdc;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)chan;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)vers;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)sl;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)sE;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)sM;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = (unsigned char *)o;
sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned long )0;
sqlstm.sqharc[9] = (unsigned long *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = (unsigned char *)oE;
sqlstm.sqhstl[10] = (unsigned long )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned long )0;
sqlstm.sqharc[10] = (unsigned long *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = (unsigned char *)oM;
sqlstm.sqhstl[11] = (unsigned long )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[11] = (unsigned long )0;
sqlstm.sqharc[11] = (unsigned long *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (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<<"sector: "<<s<<" plane: "<<m<<" "<<rows_to_insert<<" rows inserted\n";
}
}
}
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcCalParRaw*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcCellEff* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXARR];
int plane[MDC_MAXARR];
int an[MDC_MAXARR];
float mr[MDC_MAXARR];
float sl[MDC_MAXARR];
int rows_to_insert;
Int_t i=0;
for(Int_t m=0; m<pPar->getSize(); m++) {
HMdcCellEffMod& rMod=(*pPar)[m];
for(Int_t l=0; l<rMod.getSize(); l++) {
HMdcCellEffAngle& rAngle=rMod[l];
vers[i]=version;
plane[i]=m+1;
an[i]=l;
mr[i]=rAngle.getMaxR();
sl[i]=rAngle.getSlope();
i++;
}
}
if (i==0) {
Error("writePar(HMdcCellEff*)",
"\n Parameter container is empty!\n");
rollback();
return -1;
}
rows_to_insert=i;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.celleff_data (vers_id,plane,angle,max_\
r,slope) values (:b1,:b2,:b3,:b4,:b5)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1154;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)plane;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)an;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)mr;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)sl;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)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<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcCellEff*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcTimeCut* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXMODS];
int sec[MDC_MAXMODS];
int pla[MDC_MAXMODS];
float ct1l[MDC_MAXMODS];
float ct1r[MDC_MAXMODS];
float ct2l[MDC_MAXMODS];
float ct2r[MDC_MAXMODS];
float cl[MDC_MAXMODS];
float cr[MDC_MAXMODS];
float cBumpt1l[MDC_MAXMODS];
float cBumpt1r[MDC_MAXMODS];
float cBumptotl[MDC_MAXMODS];
float cBumptotr[MDC_MAXMODS];
int rows_to_insert;
Int_t i=0;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcTimeCutSec& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcTimeCutMod& rMod= rSec[m];
vers[i]=version;
sec[i]=s+1;
pla[i]=m+1;
ct1l[i]=rMod.getCutTime1Left();
ct1r[i]=rMod.getCutTime1Right();
ct2l[i]=rMod.getCutTime2Left();
ct2r[i]=rMod.getCutTime2Right();
cl[i]=rMod.getCutTimeLeft();
cr[i]=rMod.getCutTimeRight();
cBumpt1l[i]=rMod.getCutBumpTime1Left();
cBumpt1r[i]=rMod.getCutBumpTime1Right();
cBumptotl[i]=rMod.getCutBumpTotLeft();
cBumptotr[i]=rMod.getCutBumpTotRight();
i++;
}
}
if (i==0) {
Error("writePar(HMdcTimeCut*)",
"\n Parameter container is empty!\n");
rollback();
return -1;
}
rows_to_insert=i;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.timecut_data (vers_id,mdc_pos_id,cut_t\
1_l,cut_t1_r,cut_t2_l,cut_t2_r,cut_left,cut_right,cut_bump_t1_l,cut_bump_t1_r,\
cut_bump_tot_l,cut_bump_tot_r) values (:b1,mdc_ana2.mdc_par_query.get_mdc_pos_\
id(:b2,:b3),:b4,:b5,:b6,:b7,:b8,:b9,:b10,:b11,:b12,:b13)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1189;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)ct1l;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)ct1r;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)ct2l;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)ct2r;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)cl;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)cr;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (unsigned short )0;
sqlstm.sqhstv[9] = (unsigned char *)cBumpt1l;
sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
sqlstm.sqhsts[9] = ( int )sizeof(float);
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned long )0;
sqlstm.sqharc[9] = (unsigned long *)0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = (unsigned char *)cBumpt1r;
sqlstm.sqhstl[10] = (unsigned long )sizeof(float);
sqlstm.sqhsts[10] = ( int )sizeof(float);
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned long )0;
sqlstm.sqharc[10] = (unsigned long *)0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = (unsigned char *)cBumptotl;
sqlstm.sqhstl[11] = (unsigned long )sizeof(float);
sqlstm.sqhsts[11] = ( int )sizeof(float);
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[11] = (unsigned long )0;
sqlstm.sqharc[11] = (unsigned long *)0;
sqlstm.sqadto[11] = (unsigned short )0;
sqlstm.sqtdso[11] = (unsigned short )0;
sqlstm.sqhstv[12] = (unsigned char *)cBumptotr;
sqlstm.sqhstl[12] = (unsigned long )sizeof(float);
sqlstm.sqhsts[12] = ( int )sizeof(float);
sqlstm.sqindv[12] = ( short *)0;
sqlstm.sqinds[12] = ( int )0;
sqlstm.sqharm[12] = (unsigned long )0;
sqlstm.sqharc[12] = (unsigned long *)0;
sqlstm.sqadto[12] = (unsigned short )0;
sqlstm.sqtdso[12] = (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<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcTimeCut*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcCal2ParSim* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXARR];
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int angle[MDC_MAXARR];
int dbin[MDC_MAXARR];
float d1[MDC_MAXARR];
float d2[MDC_MAXARR];
float d1e[MDC_MAXARR];
float d2e[MDC_MAXARR];
int rows_to_insert;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcCal2ParSecSim& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcCal2ParModSim& rMod= rSec[m];
Int_t nVal=0;
for(Int_t l=0; l<rMod.getSize(); l++) {
HMdcCal2ParAngleSim& rAngle= rMod[l];
for(Int_t c=0; c<pPar->getNumberOfBins(); c++) {
if (nVal>MDC_MAXARR) {
Error("writePar(HMdcCal2ParSim",
"Buffer size exceeded!");
rollback();
return -1;
}
vers[nVal]=version;
sec[nVal]=s+1;
pla[nVal]=m+1;
angle[nVal]=l;
dbin[nVal]=c;
d1[nVal]=rAngle.getDriftTime1(c);
d2[nVal]=rAngle.getDriftTime2(c);
d1e[nVal]=rAngle.getDriftTime1Error(c);
d2e[nVal]=rAngle.getDriftTime2Error(c);
nVal++;
}
}
if (nVal>0) {
rows_to_insert=nVal;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.cal2parsim_data (vers_id,mdc_pos\
_id,angle_step,distance_bin,drifttime1,drifttime2,drifttime1_err,drifttime2_er\
r) values (:b1,mdc_ana2.mdc_par_query.get_mdc_pos_id(:b2,:b3),:b4,:b5,:b6,:b7,\
:b8,:b9)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1256;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)angle;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)dbin;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)d1;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)d2;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)d1e;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)d2e;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (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<<"sector: "<<s<<" plane: "<<m<<" "<<rows_to_insert<<" rows inserted\n";
}
}
}
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcCal2ParSim*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcLayerGeomPar* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXTOTLAYS];
int sec[MDC_MAXTOTLAYS];
int pla[MDC_MAXTOTLAYS];
int lay[MDC_MAXTOTLAYS];
float dist[MDC_MAXTOTLAYS];
float pitch[MDC_MAXTOTLAYS];
float angle[MDC_MAXTOTLAYS];
float cwire[MDC_MAXTOTLAYS];
float cathth[MDC_MAXTOTLAYS];
int rows_to_insert;
Int_t i=0;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcLayerGeomParSec& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcLayerGeomParMod& rMod= rSec[m];
for(Int_t l=0; l<rMod.getSize(); l++) {
vers[i]=version;
sec[i]=s+1;
pla[i]=m+1;
lay[i]=l+1;
HMdcLayerGeomParLay& rLay= rMod[l];
dist[i]=rLay.getCatDist();
pitch[i]=rLay.getPitch();
angle[i]=rLay.getWireOrient();
cwire[i]=rLay.getCentralWireNr();
cathth[i]=rLay.getCathodeWireThickness();
i++;
}
}
}
if (i==0) {
Error("writePar(HMdcLayerGeomPar*)",
"\n Parameter container is empty!\n");
rollback();
return -1;
}
rows_to_insert=i;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.layergeompar_data (vers_id,mdc_pos_id,\
layer_nr,cell_thickness,cell_pitch,inclination_angle,central_wire_nr,cathode_w\
ire_thickness) values (:b1,mdc_ana2.mdc_par_query.get_mdc_pos_id(:b2,:b3),:b4,\
:b5,:b6,:b7,:b8,:b9)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1307;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)lay;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)dist;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)pitch;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)angle;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)cwire;
sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
sqlstm.sqhsts[7] = ( int )sizeof(float);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqhstv[8] = (unsigned char *)cathth;
sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
sqlstm.sqhsts[8] = ( int )sizeof(float);
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqinds[8] = ( int )0;
sqlstm.sqharm[8] = (unsigned long )0;
sqlstm.sqharc[8] = (unsigned long *)0;
sqlstm.sqadto[8] = (unsigned short )0;
sqlstm.sqtdso[8] = (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<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcLayerGeom*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcLookupGeom* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXWIRES];
int sec[MDC_MAXWIRES];
int pla[MDC_MAXWIRES];
int layer[MDC_MAXWIRES];
int wire[MDC_MAXWIRES];
int mbo[MDC_MAXWIRES];
int tdc[MDC_MAXWIRES];
int channel[MDC_MAXWIRES];
int rows_to_insert;
int vers_id;
Int_t mboInd, nWire, lay, cell, t;
for(Int_t s=0;s<pPar->getSize();s++) {
HMdcLookupGSec& secPar=(*pPar)[s];
for(Int_t m=0;m<secPar.getSize();m++) {
HMdcLookupGMod& mod=secPar[m];
nWire=0;
for(Int_t l=0; l<mod.getSize(); l++) {
HMdcLookupMoth& moth=mod[l];
const Char_t* mboName=moth.GetName();
sscanf(mboName,"%i",&mboInd);
for(Int_t c=0;c<moth.getSize();c++) {
HMdcLookupChan& chan=moth[c];
lay=chan.getNLayer();
cell=chan.getNCell();
if (lay>=0&&cell>=0) {
vers[nWire]=version;
sec[nWire]=s+1;
pla[nWire]=m+1;
layer[nWire]=lay+1;
wire[nWire]=cell+1;
mbo[nWire]=mboInd;
t=(Int_t)(c/8);
tdc[nWire]=t+1;
channel[nWire]=c-t*8+1;
nWire++;
}
}
}
if (nWire>0) {
rows_to_insert=nWire;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.load_mdclookupgeom_data (vers_id\
,mdc_pos_id,layer_nr,wire_nr,mbo_local_pos_id,tdc_nr,tdc_chan) values (:b1,mdc\
_ana2.mdc_par_query.get_mdc_pos_id(:b2,:b3),:b4,:b5,:b6,:b7,:b8)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1358;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)layer;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)wire;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)mbo;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)tdc;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)channel;
sqlstm.sqhstl[7] = (unsigned long )sizeof(int);
sqlstm.sqhsts[7] = ( int )sizeof(int);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (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<<"sector: "<<s<<" plane: "<<m<<" "<<rows_to_insert<<" rows inserted\n";
}
}
}
vers_id=version;
cout<<"Consistency check running"<<endl;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin mdc_ana2 . mdc_par_query . check_fpc_data_consistency\
( :vers_id ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )1405;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers_id;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )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 == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcLookupGeom*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::countTdcChannels(Int_t sector, Int_t plane) {
int sec;
int pla;
int num;
sec=sector+1;
pla=plane+1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select count(*) into :b0 from mdc_ana2.tdc_channel_pos2id\
where (sector=:b1 and plane=:b2)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )1424;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)#
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )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 == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("countTdcChannels(Int_t,Int_t)");
}
return num;
notfound:
return 0;
}
void HMdcParOra2Io::printInfo(const Char_t* contName) {
Bool_t first=kTRUE;
for(Int_t i=0;i<MDC_MAXMODS;i++) {
if (initModules->At(i)>0) {
if (first) {
cout<<contName<<": modules(s) initialized from Oracle: ";
first=kFALSE;
}
cout<<i<<" ";
}
}
cout<<endl;
}
Int_t HMdcParOra2Io::writePar(HMdcTdcThreshold* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXARR];
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mbo[MDC_MAXARR];
int dbo[MDC_MAXARR];
int thr [MDC_MAXARR];
int rows_to_insert;
Int_t mboInd, nDbo=0;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcTdcThresholdSec& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcTdcThresholdMod& rMod= rSec[m];
for(Int_t l=0; l<rMod.getSize(); l++) {
HMdcTdcThresholdMbo& rMbo= rMod[l];
const Char_t* mboName=rMbo.GetName();
sscanf(mboName,"%i",&mboInd);
for(Int_t c=0; c<rMbo.getSize(); c++) {
vers[nDbo]=version;
sec[nDbo]=s+1;
pla[nDbo]=m+1;
mbo[nDbo]=mboInd;
dbo[nDbo]=c+1;
thr[nDbo]=rMbo[c].getThreshold();
nDbo++;
}
}
}
}
rows_to_insert=nDbo;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.threshold_data (vers_id,dbo_pos_id,thr\
eshold) values (:b1,mdc_ana2.mdc_par_query.get_threshold_address_id(:b2,:b3,:b\
4,:b5),:b6)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1451;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)mbo;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)dbo;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)thr;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)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 == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<"Thresholds: "<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcTdcThreshold*)");
rollback();
return -1;
}
Int_t HMdcParOra2Io::writePar(HMdcTdcChannel* pPar) {
Int_t version=createVersion(pPar);
if (version==-1) return -1;
int vers[MDC_MAXARR];
int sec[MDC_MAXARR];
int pla[MDC_MAXARR];
int mbo[MDC_MAXARR];
int tdc[MDC_MAXARR];
int mask[MDC_MAXARR];
int cal[MDC_MAXARR];
int rows_to_insert;
Int_t mboInd, nTdc=0;
for(Int_t s=0; s<pPar->getSize(); s++) {
HMdcTdcChannelSec& rSec= (*pPar)[s];
for(Int_t m=0; m<rSec.getSize(); m++) {
HMdcTdcChannelMod& rMod= rSec[m];
for(Int_t l=0; l<rMod.getSize(); l++) {
HMdcTdcChannelMbo& rMbo= rMod[l];
const Char_t* mboName=rMbo.GetName();
sscanf(mboName,"%i",&mboInd);
for(Int_t c=0; c<rMbo.getSize(); c++) {
vers[nTdc]=version;
sec[nTdc]=s+1;
pla[nTdc]=m+1;
mbo[nTdc]=mboInd;
tdc[nTdc]=c+1;
mask[nTdc]=rMbo[c].getChannelMask(1);
cal[nTdc]=rMbo[c].getChannelMask(0);
nTdc++;
}
}
}
}
rows_to_insert=nTdc;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 13;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into mdc_ana2.tdc_mask_data (vers_id,tdc_id,channel_\
mask,calibration_mask) values (:b1,mdc_ana2.mdc_par_query.get_tdc_mask_address\
_id(:b2,:b3,:b4,:b5),:b6,:b7)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )1490;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pla;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)mbo;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)tdc;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)mask;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)cal;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (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<<"Channels: "<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HMdcTdcChannels*)");
rollback();
return -1;
}