#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[18];
};
static const struct sqlcxp sqlfpn =
{
17,
"hspecparora2io.pc"
};
static unsigned int sqlctx = 9899811;
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[12];
unsigned long sqhstl[12];
int sqhsts[12];
short *sqindv[12];
int sqinds[12];
unsigned long sqharm[12];
unsigned long *sqharc[12];
unsigned short sqadto[12];
unsigned short sqtdso[12];
} sqlstm = {13,12};
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 *); }
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,279,0,4,237,0,0,7,2,0,1,0,2,3,0,0,2,9,0,0,2,9,0,0,2,3,0,0,2,3,0,0,1,3,
0,0,1,3,0,0,
48,0,0,2,167,0,4,304,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
79,0,0,3,479,0,4,365,0,0,12,3,0,1,0,2,3,0,0,2,3,0,0,2,9,0,0,2,9,0,0,2,3,0,0,2,
3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
142,0,0,4,168,0,4,447,0,0,3,1,0,1,0,2,4,0,0,2,4,0,0,1,97,0,0,
169,0,0,5,68,0,6,479,0,0,3,3,0,1,0,1,3,0,0,3,3,0,0,2,23,0,0,
196,0,0,6,79,0,6,490,0,0,3,3,0,1,0,3,3,0,0,1,3,0,0,2,23,0,0,
223,0,0,7,101,0,6,554,0,0,5,5,0,1,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,2,3,0,0,
258,0,0,8,164,0,3,602,0,0,5,5,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,3,0,0,
293,0,0,9,164,0,6,681,0,0,7,7,0,1,0,1,97,0,0,1,3,0,0,1,3,0,0,1,23,0,0,1,97,0,0,
1,97,0,0,2,3,0,0,
336,0,0,10,98,0,6,694,0,0,4,4,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,23,0,0,
367,0,0,11,233,0,4,737,0,0,4,2,0,1,0,2,3,0,0,2,3,0,0,1,97,0,0,1,97,0,0,
398,0,0,12,116,0,4,811,0,0,3,0,0,1,0,2,3,0,0,2,4,0,0,2,3,0,0,
425,0,0,13,118,0,4,816,0,0,3,0,0,1,0,2,3,0,0,2,4,0,0,2,3,0,0,
452,0,0,14,168,0,4,870,0,0,6,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,1,
97,0,0,
491,0,0,15,170,0,4,876,0,0,6,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,1,
97,0,0,
530,0,0,16,170,0,4,881,0,0,6,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,1,
97,0,0,
};
using namespace std;
#include "hspecparora2io.h"
#include "hparora2set.h"
#include "hora2geomobj.h"
#include "hspecgeompar.h"
#include "hgeomcompositevolume.h"
#include "hora2geomdetversion.h"
#include "htrbnetaddressmapping.h"
#include "htrb2correction.h"
#include "hslowpar.h"
#include "TClass.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(HSpecParOra2Io)
#define NMAX_GEOSMALL 100
#define NMAX_SCS 2000
#define NMAX_TRB 1000
#define NCHAN_TRB 128
#define LOB_BUFSIZE 32512
#define NMAX_PERIOD 5000
HSpecParOra2Io::HSpecParOra2Io(HOra2Conn* pC) : HDetParOra2Io(pC) {
fName="HSpecParIo";
geomCaveVers=0;
geomSectorVers=0;
geomTargetVers=0;
alignTargetVers=0;
slowVers=0;
slowPartition="";
}
HSpecParOra2Io::~HSpecParOra2Io() {
if (geomCaveVers) {
delete geomCaveVers;
geomCaveVers=0;
}
if (geomSectorVers) {
delete geomSectorVers;
geomSectorVers=0;
}
if (geomTargetVers) {
delete geomTargetVers;
geomTargetVers=0;
}
if (alignTargetVers) {
delete alignTargetVers;
alignTargetVers=0;
}
if (slowVers) {
delete slowVers;
slowVers=0;
}
}
Bool_t HSpecParOra2Io::init(HParSet* pPar,Int_t* set) {
if (getRunStart(pPar)<=0) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HSpecGeomPar")==0) return read(((HSpecGeomPar*)pPar),set);
if (strcmp(name,"HTrbnetAddressMapping")==0) return read((HTrbnetAddressMapping*)pPar);
if (strcmp(name,"HSlowPar")==0) return read((HSlowPar*)pPar);
cout<<"initialization of "<<pPar->GetName()<<" not possible from Oracle!"<<endl;
return kFALSE;
}
Int_t HSpecParOra2Io::write(HParSet* pPar) {
if (getRunStart(pPar)<=0) return -1;
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HSpecGeomPar")==0) return writeAlignment((HSpecGeomPar*)pPar);
if (strcmp(name,"HTrbnetAddressMapping")==0) return writeTrbnetAddressMapping((HTrbnetAddressMapping*)pPar);
cout<<"No write-interface to Oracle for parameter container "
<<pPar->GetName()<<endl;
return 0;
}
Bool_t HSpecParOra2Io::read(HSpecGeomPar* pPar, Int_t* set) {
Int_t contVers=pPar->getInputVersion(inputNumber);
if (!geomCaveVers) {
geomCaveVers=new HOra2GeomDetVersion("CAVE");
}
if (!geomSectorVers) {
geomSectorVers=new HOra2GeomDetVersion("SECT");
}
if (!geomTargetVers) {
geomTargetVers=new HOra2GeomDetVersion("TARGET");
}
if (!alignTargetVers&&strcmp(getExpLocation(),"VIRTUAL")!=0) {
alignTargetVers=new HParOra2Set(pPar->GetName());
Int_t contextId=getContextId("HDetGeomPar",pPar->getParamContext());
if (contextId==-1) return kFALSE;
alignTargetVers->contextId=contextId;
}
Bool_t allFound=kTRUE;
if (runStart<geomCaveVers->getSince()||runStart>geomCaveVers->getUntil()) {
TList geomObjects;
if (!pPar->getCave()) {
HGeomVolume v;
v.SetName("CAVE");
pPar->addCave(&v);
}
geomObjects.Add(new HOra2GeomObj("CAVE",pPar->getCave(),'R',0));
Int_t v=getGeomVersion("CAVE",geomCaveVers);
if (v>0) allFound=readIdealGeometry(&geomObjects,geomCaveVers);
geomObjects.Delete();
pPar->setChanged();
}
if (allFound&&(runStart<geomSectorVers->getSince()||runStart>geomSectorVers->getUntil())) {
TList geomObjects;
for(Int_t i=0;i<pPar->getNumSectors();i++) {
TString s="SEC";
s+=(i+1);
if (!pPar->getSector(i)) {
HGeomVolume v;
v.SetName(s.Data());
v.setMother("CAVE");
pPar->addSector(&v);
}
geomObjects.Add(new HOra2GeomObj(s,pPar->getSector(i),'R',0));
}
Int_t v=getGeomVersion("SECT",geomSectorVers);
if (v>0) allFound=readIdealGeometry(&geomObjects,geomSectorVers);
geomObjects.Delete();
pPar->setChanged();
}
Bool_t needsGeomInit=kFALSE, needsAlignmentInit=kFALSE;
Int_t geomVers=geomTargetVers->getGeomVersion();
Int_t alignVers=-1;
Int_t detId=geomTargetVers->getDetectorId();
if (allFound&&(runStart<geomTargetVers->getSince()||runStart>geomTargetVers->getUntil())) {
needsGeomInit=kTRUE;
if (detId<0) {
geomVers=getGeomVersion("TARGET",geomTargetVers);
} else {
geomVers=getGeomVersion(detId,geomTargetVers);
}
}
if (geomVers<=0) {
allFound=kFALSE;
}
if (allFound&&alignTargetVers) {
Double_t oldUntil=alignTargetVers->versDate[1];
if (contVers<=0 || needsGeomInit || runStart<alignTargetVers->versDate[0]
|| runStart>oldUntil) {
alignVers=getAlignmentVersion(alignTargetVers,"TARGET");
if (alignVers>0) needsAlignmentInit=kTRUE;
else if (oldUntil!=-1) needsGeomInit=kTRUE;
}
}
if (allFound&&(needsGeomInit||needsAlignmentInit)) {
TList geomObjects;
pPar->clear();
allFound=readTargetVolumes(pPar,geomObjects);
if (allFound) {
cout<<pPar->GetName()<<": Target geometry read from Oracle (version "<<geomVers<<")\n";
if (needsAlignmentInit) {
allFound=readAlignmentTransform(&geomObjects,alignVers);
if (allFound) {
cout<<pPar->GetName()<<": Target alignment read from Oracle(version "<<alignVers<<")\n";
}
}
}
geomObjects.Delete();
pPar->setChanged();
}
if (allFound) {
if (pPar->hasChanged()) {
pPar->setInputVersion(getActRunId(),inputNumber);
pPar->setNotFirstInit();
}
} else {
pPar->clear();
pPar->setChanged(kFALSE);
}
return allFound;
}
Bool_t HSpecParOra2Io::readTargetVolumes(HSpecGeomPar* pPar, TList& geomObjects) {
int vers;
int detid;
struct {
int p_id[NMAX_GEOSMALL];
struct { unsigned short len; unsigned char arr[14]; } p_name[100];
struct { unsigned short len; unsigned char arr[6]; } p_shape[100];
int p_vol_id[NMAX_GEOSMALL];
int p_trans_id[NMAX_GEOSMALL];
} vol;
struct {
short p_id_Ind[NMAX_GEOSMALL];
short p_name_Ind[NMAX_GEOSMALL];
short p_shape_Ind[NMAX_GEOSMALL];
short p_vol_id_Ind[NMAX_GEOSMALL];
short p_trans_id_Ind[NMAX_GEOSMALL];
} vol_Ind;
vers=(Int_t)geomTargetVers->getGeomVersion();
detid=(Int_t)geomTargetVers->getDetectorId();
Int_t numTargets=0, i;
Bool_t allFound=kFALSE;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 7;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select object_id ,object_name ,geant3_shape ,volume_id ,tra\
ns_id into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 from hgeom.volume_data_at\
_histdate_2 where ((det_part_id=:b2 and :b3 between geom_vers_min and geom_ver\
s_max) and (object_name like 'TARG%' or object_name like 'TX%'))";
sqlstm.iters = (unsigned int )100;
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 *)vol.p_id;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)vol_Ind.p_id_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 *)vol.p_name;
sqlstm.sqhstl[1] = (unsigned long )13;
sqlstm.sqhsts[1] = ( int )16;
sqlstm.sqindv[1] = ( short *)vol_Ind.p_name_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 *)vol.p_shape;
sqlstm.sqhstl[2] = (unsigned long )7;
sqlstm.sqhsts[2] = ( int )8;
sqlstm.sqindv[2] = ( short *)vol_Ind.p_shape_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.sqhstv[3] = (unsigned char *)vol.p_vol_id;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)vol_Ind.p_vol_id_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)vol.p_trans_id;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)vol_Ind.p_trans_id_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
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 *)&detid;
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.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) goto errorfound;
}
numTargets=sqlca.sqlerrd[2];
if (numTargets>0) {
pPar->createTargets(numTargets);
for(i=0;i<numTargets;i++) {
if (vol_Ind.p_name_Ind[i]!=-1) {
HGeomVolume v;
vol.p_name[i].arr[vol.p_name[i].len]='\0';
Char_t* nName=(Char_t*)(vol.p_name[i].arr);
v.SetName(nName);
if (vol_Ind.p_shape_Ind[i]!=-1) {
vol.p_shape[i].arr[vol.p_shape[i].len]='\0';
v.setShape((Char_t*)(vol.p_shape[i].arr));
}
v.setMother("CAVE");
pPar->addTarget(&v);
Int_t nt=pPar->getTargetIndex(nName);
HOra2GeomObj* obj=new HOra2GeomObj(nName,pPar->getTarget(nt),'T',0);
obj->objId=vol.p_id[i];
obj->volId=vol.p_vol_id[i];
if (vol_Ind.p_trans_id_Ind[i]!=-1) obj->transId=vol.p_trans_id[i];
geomObjects.Add(obj);
}
}
allFound=readGeomPoints(&geomObjects);
if (allFound) allFound=readGeomTransform(&geomObjects);
}
return allFound;
errorfound:
showSqlError("readTargetVolumes");
return kFALSE;
}
Bool_t HSpecParOra2Io::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,"HTrbnetAddressMapping")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 7;
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 daq.trbnet_addr_map_v\
ers_at_date where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )48;
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(HParOra2Set*,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 HSpecParOra2Io::read(HTrbnetAddressMapping* pPar) {
Int_t oraVersion=-1;
Bool_t isNew=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&isNew==kFALSE) return kTRUE;
pPar->clear();
HTrb2Correction* pTrb=0;
Bool_t rc=kTRUE;
HParOra2Set* oraSet=getOraSet(pPar);
Int_t nTrb=0;
int vers;
int minAddress;
int maxAddress;
struct {
int address[NMAX_TRB];
int subevtid[NMAX_TRB];
struct { unsigned short len; unsigned char arr[22]; } temp_sensor[1000];
struct { unsigned short len; unsigned char arr[34]; } board_type[1000];
int tdcres_mode[NMAX_TRB];
int hres_flag[NMAX_TRB];
int dataid[NMAX_TRB];
double since[NMAX_TRB];
double until[NMAX_TRB];
} lrecC;
struct {
short address_Ind[NMAX_TRB];
short subevtid_Ind[NMAX_TRB];
short temp_sensor_Ind[NMAX_TRB];
short board_type_Ind[NMAX_TRB];
short tdcres_mode[NMAX_TRB];
short hres_flag[NMAX_TRB];
short dataid_Ind[NMAX_TRB];
short since_Ind[NMAX_TRB];
short until_Ind[NMAX_TRB];
} lrecC_Ind;
vers=oraVersion;
minAddress=pPar->getArrayOffset();
maxAddress=minAddress+pPar->getSize()-1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select a.trbnet_address ,a.subevent_id ,a.temperature_senso\
r ,a.board_type ,NVL(a.tdc_resolution_mode,(-1)) ,NVL(b.high_resolution_flag,(\
-1)) ,b.data_id ,hanadate.date_to_number(b.valid_since) ,hanadate.date_to_numb\
er(b.valid_until) into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 ,:s11:s12 ,:s13\
:s14 ,:s15:s16 ,:s17:s18 from daq.trbnet_address_map_view a ,daq.trb_correct\
ions_at_date b where ((a.vers_id=:b2 and a.trbnet_address between :b3 and :b4)\
and a.board_id=b.board_id(+))";
sqlstm.iters = (unsigned int )1000;
sqlstm.offset = (unsigned int )79;
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 *)lrecC.address;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)lrecC_Ind.address_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 *)lrecC.subevtid;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)lrecC_Ind.subevtid_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 *)lrecC.temp_sensor;
sqlstm.sqhstl[2] = (unsigned long )23;
sqlstm.sqhsts[2] = ( int )24;
sqlstm.sqindv[2] = ( short *)lrecC_Ind.temp_sensor_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.sqhstv[3] = (unsigned char *)lrecC.board_type;
sqlstm.sqhstl[3] = (unsigned long )33;
sqlstm.sqhsts[3] = ( int )36;
sqlstm.sqindv[3] = ( short *)lrecC_Ind.board_type_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)lrecC.tdcres_mode;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)lrecC_Ind.tdcres_mode;
sqlstm.sqinds[4] = ( int )sizeof(short);
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 *)lrecC.hres_flag;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)lrecC_Ind.hres_flag;
sqlstm.sqinds[5] = ( int )sizeof(short);
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 *)lrecC.dataid;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)lrecC_Ind.dataid_Ind;
sqlstm.sqinds[6] = ( int )sizeof(short);
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 *)lrecC.since;
sqlstm.sqhstl[7] = (unsigned long )sizeof(double);
sqlstm.sqhsts[7] = ( int )sizeof(double);
sqlstm.sqindv[7] = ( short *)lrecC_Ind.since_Ind;
sqlstm.sqinds[7] = ( int )sizeof(short);
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 *)lrecC.until;
sqlstm.sqhstl[8] = (unsigned long )sizeof(double);
sqlstm.sqhsts[8] = ( int )sizeof(double);
sqlstm.sqindv[8] = ( short *)lrecC_Ind.until_Ind;
sqlstm.sqinds[8] = ( int )sizeof(short);
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 *)&vers;
sqlstm.sqhstl[9] = (unsigned long )sizeof(int);
sqlstm.sqhsts[9] = ( int )sizeof(int);
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqinds[9] = ( int )0;
sqlstm.sqharm[9] = (unsigned long )0;
sqlstm.sqadto[9] = (unsigned short )0;
sqlstm.sqtdso[9] = (unsigned short )0;
sqlstm.sqhstv[10] = (unsigned char *)&minAddress;
sqlstm.sqhstl[10] = (unsigned long )sizeof(int);
sqlstm.sqhsts[10] = ( int )sizeof(int);
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqinds[10] = ( int )0;
sqlstm.sqharm[10] = (unsigned long )0;
sqlstm.sqadto[10] = (unsigned short )0;
sqlstm.sqtdso[10] = (unsigned short )0;
sqlstm.sqhstv[11] = (unsigned char *)&maxAddress;
sqlstm.sqhstl[11] = (unsigned long )sizeof(int);
sqlstm.sqhsts[11] = ( int )sizeof(int);
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqinds[11] = ( int )0;
sqlstm.sqharm[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) goto errorfound;
}
nTrb=sqlca.sqlerrd[2];
for(Int_t i=0;i<nTrb&&rc;i++) {
if (lrecC_Ind.temp_sensor_Ind[i]!=-1) {
lrecC.temp_sensor[i].arr[lrecC.temp_sensor[i].len]='\0';
if (lrecC_Ind.board_type_Ind[i]!=-1) {
lrecC.board_type[i].arr[lrecC.board_type[i].len]='\0';
} else {
lrecC.board_type[i].arr[0]='\0';
}
pTrb=pPar->addBoard(lrecC.address[i], (Char_t*)(lrecC.temp_sensor[i].arr),
(Char_t*)(lrecC.board_type[i].arr), lrecC.subevtid[i],
lrecC.tdcres_mode[i]);
if (pTrb) {
if ((lrecC.tdcres_mode[i]==0&&lrecC.hres_flag[i]>0)||
(lrecC.tdcres_mode[i]>0&&lrecC.hres_flag[i]==0)) {
Error("read(HTrbnetAddressMapping*)",
"***** TDC resolution mode %x from daq different from mode "
"of correction data %i for board with temeratur sensor %s *****\n",
lrecC.tdcres_mode[i],lrecC.hres_flag[i],(Char_t*)(lrecC.temp_sensor[i].arr));
rc=kFALSE;
break;
}
if (lrecC_Ind.dataid_Ind[i]!=-1) {
if (lrecC.since[i]>oraSet->versDate[0]) oraSet->versDate[0]=lrecC.since[i];
if (lrecC.until[i]<oraSet->versDate[1]) oraSet->versDate[1]=lrecC.until[i];
if (pTrb->makeArray()) rc=readTrb2CorrData(pTrb,lrecC.dataid[i]);
} else {
Double_t timerange[]={0.,1.e+12};
findTrb2CorrDataTimeRange(pTrb,timerange);
if (timerange[0]>oraSet->versDate[0]) oraSet->versDate[0]=timerange[0];
if (timerange[1]<oraSet->versDate[1]) oraSet->versDate[1]=timerange[1];
Warning("read(HTrbnetAddressMapping*)",
"***** No correction data found for TRB %s *****\n",
(Char_t*)(lrecC.temp_sensor[i].arr));
}
} else {
Error("read(HTrbnetAddressMapping*)","No board found for trbnet_address %x\n",
lrecC.address[i]);
rc=kFALSE;
}
}
}
if (nTrb>0&&rc) {
pPar->setInputVersion(oraVersion,inputNumber);
setChanged(pPar);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
return kTRUE;
} else {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
errorfound:
showSqlError("read(HTrbnetAddressMapping*)");
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
void HSpecParOra2Io::findTrb2CorrDataTimeRange(HTrb2Correction* pTrb,
Double_t* timerange) {
char* temp_sensor;
double nsince;
double puntil;
short nsince_ind;
short puntil_ind;
temp_sensor=(Char_t*)pTrb->GetName();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select hanadate.date_to_number(previous_until) ,hanadate.da\
te_to_number(next_since) into :b0:b1,:b2:b3 from daq.trb_correction_range_che\
ck where temperature_sensor=:b4";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )142;
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 *)&puntil;
sqlstm.sqhstl[0] = (unsigned long )sizeof(double);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)&puntil_ind;
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 *)&nsince;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)&nsince_ind;
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 *)temp_sensor;
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 notfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
timerange[0]=(puntil_ind!=-1) ? (puntil+1) : 0.;
timerange[1]=(nsince_ind!=-1) ? (nsince-1) : 1.e+12;
return;
errorfound:
showSqlError("findTrb2CorrDataTimeRange(HTrb2Correction*,Double_t*)");
notfound:
timerange[0]=0.;
timerange[1]=1.e+12;
}
Bool_t HSpecParOra2Io::readTrb2CorrData(HTrb2Correction* ptrb,Int_t dataId) {
Float_t* corrData=ptrb->getCorrections();
Int_t totlen=ptrb->getSize()*sizeof(Float_t);
int id;
int amount;
int offset;
unsigned char buffer[LOB_BUFSIZE];
id=dataId;
amount= (totlen>LOB_BUFSIZE) ? LOB_BUFSIZE : totlen;
Int_t restlen=totlen;
offset=1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin daq . htrb_ana . read_blob ( :id , :amount , :buffer \
) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )169;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&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.sqhstv[1] = (unsigned char *)&amount;
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 *)buffer;
sqlstm.sqhstl[2] = (unsigned long )32512;
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) goto notfound;
}
restlen=totlen-amount;
memcpy(&corrData[0],buffer,amount);
while (restlen>0) {
offset+=LOB_BUFSIZE;
Int_t pos=(offset-1)/sizeof(Float_t);
amount= (restlen>LOB_BUFSIZE) ? LOB_BUFSIZE : restlen;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin daq . htrb_ana . read_next_buffer ( :amount , :offs\
et , :buffer ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )196;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&amount;
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 *)&offset;
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 *)buffer;
sqlstm.sqhstl[2] = (unsigned long )32512;
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) goto notfound;
}
memcpy(&corrData[pos],buffer,amount);
restlen-=amount;
}
return kTRUE;
notfound:
showSqlError("readTrb2CorrData");
Error("readTrb2CorrData","Blob for data_id %i not read",dataId);
return kFALSE;
}
Int_t HSpecParOra2Io::writeAlignment(HSpecGeomPar* pPar) {
Int_t version=getAlignmentOutputVersion(pPar,pPar->getParamContext());
if (version==-1) return -1;
Int_t n=0;
Bool_t rc=kTRUE;
for(Int_t i=0;i<pPar->getNumTargets();i++) {
HGeomVolume* pVol=pPar->getTarget(i);
if (!pVol) continue;
if ((rc=writeTransform(version,pVol->GetName(),pVol->getTransform()))) n++;
else break;
}
if (rc && n>0) {
cout<<"Target alignment: "<<n<<" rows inserted\n";
commit();
}
pPar->setChanged(kFALSE);
return version;
}
Int_t HSpecParOra2Io::createTrbnetAddressMappingVers(HTrbnetAddressMapping* pPar) {
cout<<"--------------- "<<pPar->GetName()<<" ---------------\n";
if (strlen(pPar->getAuthor())==0) {
Error("createTrbnetAddressMappingVers(HTrbnetAddressMapping*)",
"%s: author not defined\n",pPar->GetName());
return -1;
}
if (strlen(pPar->getDescription())==0) {
Error("createTrbnetAddressMappingVers(HTrbnetAddressMapping*)",
"%s: description of parameters not defined",pPar->GetName());
return -1;
}
int vers=-1;
int context;
int run;
char* creator;
char* descript;
context = getContextId(pPar->IsA()->GetName(),pPar->getParamContext());
if (context==-1) return -1;
run=getActRunId();
creator=(Char_t*)pPar->getAuthor();
descript=(Char_t*)pPar->getDescription();
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin daq . htrb_ana . add_mapping_version ( :context , :ru\
n , :creator , :descript , :vers ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )223;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&context;
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 *)&run;
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 *)creator;
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.sqhstv[3] = (unsigned char *)descript;
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 *)&vers;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
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 errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<"Oracle version for "<<pPar->GetName()<<" created: "<<vers<<endl;
return vers;
errorfound:
showSqlError("createTrbnetAddressMappingVers(HTrbnetAddressMapping*)");
return vers;
}
Int_t HSpecParOra2Io::writeTrbnetAddressMapping(HTrbnetAddressMapping* pPar) {
Int_t version=createTrbnetAddressMappingVers(pPar);
if (version==-1) return -1;
int rows_to_insert;
int vers[NMAX_TRB];
int address[NMAX_TRB];
int subevtid[NMAX_TRB];
char temp_sensor[NMAX_TRB][81];
short subevtid_Ind[NMAX_TRB];
int tdcres_mode[NMAX_TRB];
Int_t nRow=0;
Int_t arrayOffset=pPar->getArrayOffset();
for(Int_t i=0;i<pPar->getSize();i++) {
HTrb2Correction* b=(*pPar)[i];
if (b&&strcmp(b->getBoardType(),"TRB")==0) {
vers[nRow]=version;
address[nRow]=arrayOffset+i;
if (strlen(b->GetName())==0) {
Error("writeTrbnetAddressMapping(...)",
"temperature sensor not defined for trbnet-address %i\n",address[i]);
rollback();
return -1;
}
strcpy(temp_sensor[nRow],b->GetName());
subevtid[nRow]=b->getSubeventId();
subevtid_Ind[nRow] = (b->getSubeventId()==-1) ? -1 : 0;
tdcres_mode[nRow]=b->getHighResolutionFlag();
nRow++;
}
}
rows_to_insert=nRow;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into daq.trbnet_address_map_data (vers_id,trbnet_add\
ress,subevent_id,board_id,tdc_resolution_mode) values (:b1,:b2,:b3:b4,daq.htrb\
_ana.get_board_id(:b5),:b6)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )258;
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 *)address;
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 *)subevtid;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)subevtid_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.sqhstv[3] = (unsigned char *)temp_sensor;
sqlstm.sqhstl[3] = (unsigned long )81;
sqlstm.sqhsts[3] = ( int )81;
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 *)tdcres_mode;
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 == 1403) goto errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<pPar->GetName()<<": "<<rows_to_insert<<" rows inserted\n";
commit();
pPar->setChanged(kFALSE);
return version;
errorfound:
showSqlError("writePar(HTrbnetAddressMapping*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HSpecParOra2Io::writeTrb2Corrections(HTrbnetAddressMapping* pPar) {
cout<<"--------------- Storage of Trb tdc corrections ---------------\n";
char* p_temp_sensor;
char* p_author;
char* p_descript;
int resolflag;
unsigned char buffer[LOB_BUFSIZE];
int amount;
int offset;
int p_data_id;
short p_descript_Ind;
p_author=(Char_t*)(pPar->getAuthor());
p_descript=(Char_t*)(pPar->getDescription());
if (strlen(p_author)==0) {
Error("writeTrb2Correction(...)",
"author of parameters not defined");
return -1;
}
if (strlen(p_descript)==0) {
p_descript='\0';
p_descript_Ind=-1;
} else {
p_descript_Ind=0;
}
Int_t nBoards=0;
for(Int_t i=0;i<pPar->getSize();i++) {
HTrb2Correction* b=(*pPar)[i];
if (b) {
p_temp_sensor=(Char_t*)(b->GetName());
if (strlen(p_temp_sensor)==0) {
Error("writeTrb2Correction(...)",
"temperature sensor not defined for trbnet-address %i\n",i+pPar->getArrayOffset());
rollback();
return -1;
}
Float_t* corrData=b->getCorrections();
if (corrData==0) {
Warning("writeTrb2Correction(...)",
"no tdc corrections for temperature sensor %s\n",p_temp_sensor);
continue;
}
resolflag=b->getHighResolutionFlag();
Float_t diff=999.F;
p_data_id=compareForWrite(*b,diff);
if (p_data_id>0&&diff<0.0001) {
cout<<"*** Temperature sensor: "<<p_temp_sensor<<" Difference to existing version "
<<p_data_id<<": "<<diff<<endl;
} else {
offset=1;
Int_t totlen=b->getSize()*sizeof(Float_t);
amount= (totlen>LOB_BUFSIZE) ? LOB_BUFSIZE : totlen;
memcpy(buffer,&corrData[0],amount);
p_data_id=-1;
Int_t restlen=totlen-amount;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "declare BEGIN daq . htrb_ana . add_tdc_corrections ( \
:p_temp_sensor , :resolflag , :amount , :buffer , :p_author , :p_descript:p_de\
script_Ind , :p_data_id ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )293;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)p_temp_sensor;
sqlstm.sqhstl[0] = (unsigned long )0;
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 *)&resolflag;
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 *)&amount;
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 *)buffer;
sqlstm.sqhstl[3] = (unsigned long )32512;
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 *)p_author;
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.sqhstv[5] = (unsigned char *)p_descript;
sqlstm.sqhstl[5] = (unsigned long )0;
sqlstm.sqhsts[5] = ( int )0;
sqlstm.sqindv[5] = ( short *)&p_descript_Ind;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)&p_data_id;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )0;
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 == 1403) goto errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
while (p_data_id>0&&restlen>0) {
offset+=LOB_BUFSIZE;
Int_t pos=(offset-1)/sizeof(Float_t);
amount= (restlen>LOB_BUFSIZE) ? LOB_BUFSIZE : restlen;
memcpy(buffer,&corrData[pos],amount);
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "declare BEGIN daq . htrb_ana . append_to_blob ( :p_\
data_id , :amount , :offset , :buffer ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )336;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&p_data_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.sqhstv[1] = (unsigned char *)&amount;
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 *)&offset;
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 *)buffer;
sqlstm.sqhstl[3] = (unsigned long )32512;
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 errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
restlen-=amount;
}
cout<<"*** Temperature sensor: "<<p_temp_sensor<<" New data id: "<<p_data_id<<endl;
nBoards++;
}
}
}
cout<<"****************************************************************\n";
cout<<"*** Trb tdc corrections: "<<nBoards<<" board(s) written to Oracle"<<endl;
if (nBoards > 0) {
commit();
}
cout<<"****************************************************************\n";
pPar->setChanged(kFALSE);
return p_data_id;
errorfound:
showSqlError("writeTrb2Correction(...)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HSpecParOra2Io::compareForWrite(HTrb2Correction& newTrb,Float_t& diff) {
HTrb2Correction oldTrb;
oldTrb.SetName(newTrb.GetName());
oldTrb.setBoardType(newTrb.getBoardType());
char* p_temp_sensor;
int p_data_id;
int resolflag;
p_temp_sensor=(Char_t*)(newTrb.GetName());
p_data_id=-1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select data_id ,NVL(high_resolution_flag,(-1)) into :b0,:b1\
from daq.trb_correction_data_view where (temperature_sensor=:b2 and data_id=\
(select NVL(max(data_id),(-1)) from daq.trb_correction_data_view where temper\
ature_sensor=:b2))";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )367;
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 *)&p_data_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.sqhstv[1] = (unsigned char *)&resolflag;
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 *)p_temp_sensor;
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.sqhstv[3] = (unsigned char *)p_temp_sensor;
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.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) goto errorfound;
}
if (p_data_id>0) {
oldTrb.setHighResolutionFlag(resolflag);
oldTrb.makeArray();
Bool_t rc=readTrb2CorrData(&oldTrb,p_data_id);
if (rc) {
diff=oldTrb.compare(newTrb);
} else {
diff=0;
}
}
return p_data_id;
errorfound:
showSqlError("compareForWrite(HTrb2Correction&,Float_t&)");
return -1;
};
Bool_t HSpecParOra2Io::read(HSlowPar* pPar) {
slowPartition=pPar->getPartition();
slowPartition.ToLower();
if (slowPartition.IsNull()) return kFALSE;
Int_t oraVersion=-1, nPeriods=0;
if (!slowVers) {
slowVers=new HParOra2Set(pPar->GetName());
slowVers->contextId=0;
} else {
oraVersion=pPar->getInputVersion(inputNumber);
if (oraVersion!=-1 && runStart>=slowVers->versDate[0] && runStart<=slowVers->versDate[1]) {
return kTRUE;
}
}
pPar->reset(1);
Bool_t rc=readSlowParRuns(pPar,oraVersion,nPeriods);
if (rc && nPeriods>0) readSlowSummaries(pPar);
if (rc) {
pPar->setInputVersion(oraVersion,inputNumber);
setChanged(pPar);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
return kTRUE;
} else {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
}
Bool_t HSpecParOra2Io::readSlowParRuns(HSlowPar* pPar,Int_t& version,Int_t& nPeriods) {
slowVers->clearVersDate();
struct {
int runid[NMAX_PERIOD];
double runstart[NMAX_PERIOD];
int periodid[NMAX_PERIOD];
} runs;
struct {
short runid_Ind[NMAX_PERIOD];
short runstart_Ind[NMAX_PERIOD];
short periodid_Ind[NMAX_PERIOD];
} runs_Ind;
Int_t nRuns=0;
Bool_t rc=kFALSE;
if (slowPartition.CompareTo("online")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id ,run_start ,period_id into :s1:s2 ,:s3:s4 ,\
:s5:s6 from hades_scs.hscs_runs_at_date order by run_id ";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )398;
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 *)runs.runid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)runs_Ind.runid_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 *)runs.runstart;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)runs_Ind.runstart_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 *)runs.periodid;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)runs_Ind.periodid_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) goto errorfound;
}
} else {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id ,run_start ,period_id into :s1:s2 ,:s3:s4 ,\
:s5:s6 from hades_slow2.hscs_runs_at_date order by run_id ";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )425;
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 *)runs.runid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)runs_Ind.runid_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 *)runs.runstart;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)runs_Ind.runstart_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 *)runs.periodid;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)runs_Ind.periodid_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) goto errorfound;
}
}
nRuns=sqlca.sqlerrd[2];
if (nRuns>0) {
for(Int_t i=0;i<nRuns;i++) {
pPar->setChannelMap(runs.runid[i]);
if (runs_Ind.periodid_Ind[i]!=-1) {
nPeriods++;
}
}
version=runs.runid[0];
slowVers->versDate[0]=runs.runstart[0];
slowVers->versDate[1]=runs.runstart[nRuns-1];
rc=kTRUE;
}
return rc;
errorfound:
showSqlError("readSlowParRuns(HSlowPar*,Int_t&,Int_t&)");
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
};
void HSpecParOra2Io::readSlowSummaries(HSlowPar* pPar) {
char* cname;
struct {
int runid[NMAX_PERIOD];
double vmean[NMAX_PERIOD];
double vsigma[NMAX_PERIOD];
double vmin[NMAX_PERIOD];
double vmax[NMAX_PERIOD];
} sums;
struct {
short runid_Ind[NMAX_PERIOD];
short vmean_Ind[NMAX_PERIOD];
short vsigma_Ind[NMAX_PERIOD];
short vmin_Ind[NMAX_PERIOD];
short vmax_Ind[NMAX_PERIOD];
} sums_Ind;
const TList* channels=pPar->getChannelList();
TIter next(channels);
TObject *obj ;
while ((obj = next())) {
TString name = ((TObjString*)(obj))->GetString();
cname=(char*)name.Data();
if (slowPartition.CompareTo("online")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id ,mean_value ,sigma_value ,min_value ,max_\
value into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 from hades_scs.hcss_summa\
ries_at_date where channel_name=:b2";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )452;
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 *)sums.runid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)sums_Ind.runid_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 *)sums.vmean;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)sums_Ind.vmean_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 *)sums.vsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( short *)sums_Ind.vsigma_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.sqhstv[3] = (unsigned char *)sums.vmin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( short *)sums_Ind.vmin_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)sums.vmax;
sqlstm.sqhstl[4] = (unsigned long )sizeof(double);
sqlstm.sqhsts[4] = ( int )sizeof(double);
sqlstm.sqindv[4] = ( short *)sums_Ind.vmax_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
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 *)cname;
sqlstm.sqhstl[5] = (unsigned long )0;
sqlstm.sqhsts[5] = ( int )0;
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) goto errorfound;
}
} else {
if (slowVers->versDate[0] >= 1451606400) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id ,mean_value ,sigma_value ,min_value ,ma\
x_value into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 from hades_slow2.hcss_s\
ummaries_at_date where channel_name=:b2";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )491;
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 *)sums.runid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)sums_Ind.runid_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 *)sums.vmean;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)sums_Ind.vmean_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 *)sums.vsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( short *)sums_Ind.vsigma_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.sqhstv[3] = (unsigned char *)sums.vmin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( short *)sums_Ind.vmin_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)sums.vmax;
sqlstm.sqhstl[4] = (unsigned long )sizeof(double);
sqlstm.sqhsts[4] = ( int )sizeof(double);
sqlstm.sqindv[4] = ( short *)sums_Ind.vmax_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
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 *)cname;
sqlstm.sqhstl[5] = (unsigned long )0;
sqlstm.sqhsts[5] = ( int )0;
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) goto errorfound;
}
} else {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 12;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select run_id ,mean_value ,sigma_value ,min_value ,ma\
x_value into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 from hades_slow2.hscs_s\
ummaries_at_date where channel_name=:b2";
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )530;
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 *)sums.runid;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)sums_Ind.runid_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 *)sums.vmean;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )sizeof(double);
sqlstm.sqindv[1] = ( short *)sums_Ind.vmean_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 *)sums.vsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )sizeof(double);
sqlstm.sqindv[2] = ( short *)sums_Ind.vsigma_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.sqhstv[3] = (unsigned char *)sums.vmin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(double);
sqlstm.sqhsts[3] = ( int )sizeof(double);
sqlstm.sqindv[3] = ( short *)sums_Ind.vmin_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)sums.vmax;
sqlstm.sqhstl[4] = (unsigned long )sizeof(double);
sqlstm.sqhsts[4] = ( int )sizeof(double);
sqlstm.sqindv[4] = ( short *)sums_Ind.vmax_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
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 *)cname;
sqlstm.sqhstl[5] = (unsigned long )0;
sqlstm.sqhsts[5] = ( int )0;
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) goto errorfound;
}
}
}
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
if (sums_Ind.vmin_Ind[i]!=-1) {
Double_t ar[]={sums.vmean[i],sums.vsigma[i],sums.vmin[i],sums.vmax[i]};
pPar->setChannel(sums.runid[i],name,ar,kTRUE);
}
}
}
return;
errorfound:
showSqlError("readSlowSummaries(HSlowPar*)");
}
hspecparora2io.pc.cc:1000 hspecparora2io.pc.cc:1001 hspecparora2io.pc.cc:1002 hspecparora2io.pc.cc:1003 hspecparora2io.pc.cc:1004 hspecparora2io.pc.cc:1005 hspecparora2io.pc.cc:1006 hspecparora2io.pc.cc:1007 hspecparora2io.pc.cc:1008 hspecparora2io.pc.cc:1009 hspecparora2io.pc.cc:1010 hspecparora2io.pc.cc:1011 hspecparora2io.pc.cc:1012 hspecparora2io.pc.cc:1013 hspecparora2io.pc.cc:1014 hspecparora2io.pc.cc:1015 hspecparora2io.pc.cc:1016 hspecparora2io.pc.cc:1017 hspecparora2io.pc.cc:1018 hspecparora2io.pc.cc:1019 hspecparora2io.pc.cc:1020 hspecparora2io.pc.cc:1021 hspecparora2io.pc.cc:1022 hspecparora2io.pc.cc:1023 hspecparora2io.pc.cc:1024 hspecparora2io.pc.cc:1025 hspecparora2io.pc.cc:1026 hspecparora2io.pc.cc:1027 hspecparora2io.pc.cc:1028 hspecparora2io.pc.cc:1029 hspecparora2io.pc.cc:1030 hspecparora2io.pc.cc:1031 hspecparora2io.pc.cc:1032 hspecparora2io.pc.cc:1033 hspecparora2io.pc.cc:1034 hspecparora2io.pc.cc:1035 hspecparora2io.pc.cc:1036 hspecparora2io.pc.cc:1037 hspecparora2io.pc.cc:1038 hspecparora2io.pc.cc:1039 hspecparora2io.pc.cc:1040 hspecparora2io.pc.cc:1041 hspecparora2io.pc.cc:1042 hspecparora2io.pc.cc:1043 hspecparora2io.pc.cc:1044 hspecparora2io.pc.cc:1045 hspecparora2io.pc.cc:1046 hspecparora2io.pc.cc:1047 hspecparora2io.pc.cc:1048 hspecparora2io.pc.cc:1049 hspecparora2io.pc.cc:1050 hspecparora2io.pc.cc:1051 hspecparora2io.pc.cc:1052 hspecparora2io.pc.cc:1053 hspecparora2io.pc.cc:1054 hspecparora2io.pc.cc:1055 hspecparora2io.pc.cc:1056 hspecparora2io.pc.cc:1057 hspecparora2io.pc.cc:1058 hspecparora2io.pc.cc:1059 hspecparora2io.pc.cc:1060 hspecparora2io.pc.cc:1061 hspecparora2io.pc.cc:1062 hspecparora2io.pc.cc:1063 hspecparora2io.pc.cc:1064 hspecparora2io.pc.cc:1065 hspecparora2io.pc.cc:1066 hspecparora2io.pc.cc:1067 hspecparora2io.pc.cc:1068 hspecparora2io.pc.cc:1069 hspecparora2io.pc.cc:1070 hspecparora2io.pc.cc:1071 hspecparora2io.pc.cc:1072 hspecparora2io.pc.cc:1073 hspecparora2io.pc.cc:1074 hspecparora2io.pc.cc:1075 hspecparora2io.pc.cc:1076 hspecparora2io.pc.cc:1077 hspecparora2io.pc.cc:1078 hspecparora2io.pc.cc:1079 hspecparora2io.pc.cc:1080 hspecparora2io.pc.cc:1081 hspecparora2io.pc.cc:1082 hspecparora2io.pc.cc:1083 hspecparora2io.pc.cc:1084 hspecparora2io.pc.cc:1085 hspecparora2io.pc.cc:1086 hspecparora2io.pc.cc:1087 hspecparora2io.pc.cc:1088 hspecparora2io.pc.cc:1089 hspecparora2io.pc.cc:1090 hspecparora2io.pc.cc:1091 hspecparora2io.pc.cc:1092 hspecparora2io.pc.cc:1093 hspecparora2io.pc.cc:1094 hspecparora2io.pc.cc:1095 hspecparora2io.pc.cc:1096 hspecparora2io.pc.cc:1097 hspecparora2io.pc.cc:1098 hspecparora2io.pc.cc:1099 hspecparora2io.pc.cc:1100 hspecparora2io.pc.cc:1101 hspecparora2io.pc.cc:1102 hspecparora2io.pc.cc:1103 hspecparora2io.pc.cc:1104 hspecparora2io.pc.cc:1105 hspecparora2io.pc.cc:1106 hspecparora2io.pc.cc:1107 hspecparora2io.pc.cc:1108 hspecparora2io.pc.cc:1109 hspecparora2io.pc.cc:1110 hspecparora2io.pc.cc:1111 hspecparora2io.pc.cc:1112 hspecparora2io.pc.cc:1113 hspecparora2io.pc.cc:1114 hspecparora2io.pc.cc:1115 hspecparora2io.pc.cc:1116 hspecparora2io.pc.cc:1117 hspecparora2io.pc.cc:1118 hspecparora2io.pc.cc:1119 hspecparora2io.pc.cc:1120 hspecparora2io.pc.cc:1121 hspecparora2io.pc.cc:1122 hspecparora2io.pc.cc:1123 hspecparora2io.pc.cc:1124 hspecparora2io.pc.cc:1125 hspecparora2io.pc.cc:1126 hspecparora2io.pc.cc:1127 hspecparora2io.pc.cc:1128 hspecparora2io.pc.cc:1129 hspecparora2io.pc.cc:1130 hspecparora2io.pc.cc:1131 hspecparora2io.pc.cc:1132 hspecparora2io.pc.cc:1133 hspecparora2io.pc.cc:1134 hspecparora2io.pc.cc:1135 hspecparora2io.pc.cc:1136 hspecparora2io.pc.cc:1137 hspecparora2io.pc.cc:1138 hspecparora2io.pc.cc:1139 hspecparora2io.pc.cc:1140 hspecparora2io.pc.cc:1141 hspecparora2io.pc.cc:1142 hspecparora2io.pc.cc:1143 hspecparora2io.pc.cc:1144 hspecparora2io.pc.cc:1145 hspecparora2io.pc.cc:1146 hspecparora2io.pc.cc:1147 hspecparora2io.pc.cc:1148 hspecparora2io.pc.cc:1149 hspecparora2io.pc.cc:1150 hspecparora2io.pc.cc:1151 hspecparora2io.pc.cc:1152 hspecparora2io.pc.cc:1153 hspecparora2io.pc.cc:1154 hspecparora2io.pc.cc:1155 hspecparora2io.pc.cc:1156 hspecparora2io.pc.cc:1157 hspecparora2io.pc.cc:1158 hspecparora2io.pc.cc:1159 hspecparora2io.pc.cc:1160 hspecparora2io.pc.cc:1161 hspecparora2io.pc.cc:1162 hspecparora2io.pc.cc:1163 hspecparora2io.pc.cc:1164 hspecparora2io.pc.cc:1165 hspecparora2io.pc.cc:1166 hspecparora2io.pc.cc:1167 hspecparora2io.pc.cc:1168 hspecparora2io.pc.cc:1169 hspecparora2io.pc.cc:1170 hspecparora2io.pc.cc:1171 hspecparora2io.pc.cc:1172 hspecparora2io.pc.cc:1173 hspecparora2io.pc.cc:1174 hspecparora2io.pc.cc:1175 hspecparora2io.pc.cc:1176 hspecparora2io.pc.cc:1177 hspecparora2io.pc.cc:1178 hspecparora2io.pc.cc:1179 hspecparora2io.pc.cc:1180 hspecparora2io.pc.cc:1181 hspecparora2io.pc.cc:1182 hspecparora2io.pc.cc:1183 hspecparora2io.pc.cc:1184 hspecparora2io.pc.cc:1185 hspecparora2io.pc.cc:1186 hspecparora2io.pc.cc:1187 hspecparora2io.pc.cc:1188 hspecparora2io.pc.cc:1189 hspecparora2io.pc.cc:1190 hspecparora2io.pc.cc:1191 hspecparora2io.pc.cc:1192 hspecparora2io.pc.cc:1193 hspecparora2io.pc.cc:1194 hspecparora2io.pc.cc:1195 hspecparora2io.pc.cc:1196 hspecparora2io.pc.cc:1197 hspecparora2io.pc.cc:1198 hspecparora2io.pc.cc:1199 hspecparora2io.pc.cc:1200 hspecparora2io.pc.cc:1201 hspecparora2io.pc.cc:1202 hspecparora2io.pc.cc:1203 hspecparora2io.pc.cc:1204 hspecparora2io.pc.cc:1205 hspecparora2io.pc.cc:1206 hspecparora2io.pc.cc:1207 hspecparora2io.pc.cc:1208 hspecparora2io.pc.cc:1209 hspecparora2io.pc.cc:1210 hspecparora2io.pc.cc:1211 hspecparora2io.pc.cc:1212 hspecparora2io.pc.cc:1213 hspecparora2io.pc.cc:1214 hspecparora2io.pc.cc:1215 hspecparora2io.pc.cc:1216 hspecparora2io.pc.cc:1217 hspecparora2io.pc.cc:1218 hspecparora2io.pc.cc:1219 hspecparora2io.pc.cc:1220 hspecparora2io.pc.cc:1221 hspecparora2io.pc.cc:1222 hspecparora2io.pc.cc:1223 hspecparora2io.pc.cc:1224 hspecparora2io.pc.cc:1225 hspecparora2io.pc.cc:1226 hspecparora2io.pc.cc:1227 hspecparora2io.pc.cc:1228 hspecparora2io.pc.cc:1229 hspecparora2io.pc.cc:1230 hspecparora2io.pc.cc:1231 hspecparora2io.pc.cc:1232 hspecparora2io.pc.cc:1233 hspecparora2io.pc.cc:1234 hspecparora2io.pc.cc:1235 hspecparora2io.pc.cc:1236 hspecparora2io.pc.cc:1237 hspecparora2io.pc.cc:1238 hspecparora2io.pc.cc:1239 hspecparora2io.pc.cc:1240 hspecparora2io.pc.cc:1241 hspecparora2io.pc.cc:1242 hspecparora2io.pc.cc:1243 hspecparora2io.pc.cc:1244 hspecparora2io.pc.cc:1245 hspecparora2io.pc.cc:1246 hspecparora2io.pc.cc:1247 hspecparora2io.pc.cc:1248 hspecparora2io.pc.cc:1249 hspecparora2io.pc.cc:1250 hspecparora2io.pc.cc:1251 hspecparora2io.pc.cc:1252 hspecparora2io.pc.cc:1253 hspecparora2io.pc.cc:1254 hspecparora2io.pc.cc:1255 hspecparora2io.pc.cc:1256 hspecparora2io.pc.cc:1257 hspecparora2io.pc.cc:1258 hspecparora2io.pc.cc:1259 hspecparora2io.pc.cc:1260 hspecparora2io.pc.cc:1261 hspecparora2io.pc.cc:1262 hspecparora2io.pc.cc:1263 hspecparora2io.pc.cc:1264 hspecparora2io.pc.cc:1265 hspecparora2io.pc.cc:1266 hspecparora2io.pc.cc:1267 hspecparora2io.pc.cc:1268 hspecparora2io.pc.cc:1269 hspecparora2io.pc.cc:1270 hspecparora2io.pc.cc:1271 hspecparora2io.pc.cc:1272 hspecparora2io.pc.cc:1273 hspecparora2io.pc.cc:1274 hspecparora2io.pc.cc:1275 hspecparora2io.pc.cc:1276 hspecparora2io.pc.cc:1277 hspecparora2io.pc.cc:1278 hspecparora2io.pc.cc:1279 hspecparora2io.pc.cc:1280 hspecparora2io.pc.cc:1281 hspecparora2io.pc.cc:1282 hspecparora2io.pc.cc:1283 hspecparora2io.pc.cc:1284 hspecparora2io.pc.cc:1285 hspecparora2io.pc.cc:1286 hspecparora2io.pc.cc:1287 hspecparora2io.pc.cc:1288 hspecparora2io.pc.cc:1289 hspecparora2io.pc.cc:1290 hspecparora2io.pc.cc:1291 hspecparora2io.pc.cc:1292 hspecparora2io.pc.cc:1293 hspecparora2io.pc.cc:1294 hspecparora2io.pc.cc:1295 hspecparora2io.pc.cc:1296 hspecparora2io.pc.cc:1297 hspecparora2io.pc.cc:1298 hspecparora2io.pc.cc:1299 hspecparora2io.pc.cc:1300 hspecparora2io.pc.cc:1301 hspecparora2io.pc.cc:1302 hspecparora2io.pc.cc:1303 hspecparora2io.pc.cc:1304 hspecparora2io.pc.cc:1305 hspecparora2io.pc.cc:1306 hspecparora2io.pc.cc:1307 hspecparora2io.pc.cc:1308 hspecparora2io.pc.cc:1309 hspecparora2io.pc.cc:1310 hspecparora2io.pc.cc:1311 hspecparora2io.pc.cc:1312 hspecparora2io.pc.cc:1313 hspecparora2io.pc.cc:1314 hspecparora2io.pc.cc:1315 hspecparora2io.pc.cc:1316 hspecparora2io.pc.cc:1317 hspecparora2io.pc.cc:1318 hspecparora2io.pc.cc:1319 hspecparora2io.pc.cc:1320 hspecparora2io.pc.cc:1321 hspecparora2io.pc.cc:1322 hspecparora2io.pc.cc:1323 hspecparora2io.pc.cc:1324 hspecparora2io.pc.cc:1325 hspecparora2io.pc.cc:1326 hspecparora2io.pc.cc:1327 hspecparora2io.pc.cc:1328 hspecparora2io.pc.cc:1329 hspecparora2io.pc.cc:1330 hspecparora2io.pc.cc:1331 hspecparora2io.pc.cc:1332 hspecparora2io.pc.cc:1333 hspecparora2io.pc.cc:1334 hspecparora2io.pc.cc:1335 hspecparora2io.pc.cc:1336 hspecparora2io.pc.cc:1337 hspecparora2io.pc.cc:1338 hspecparora2io.pc.cc:1339 hspecparora2io.pc.cc:1340 hspecparora2io.pc.cc:1341 hspecparora2io.pc.cc:1342 hspecparora2io.pc.cc:1343 hspecparora2io.pc.cc:1344 hspecparora2io.pc.cc:1345 hspecparora2io.pc.cc:1346 hspecparora2io.pc.cc:1347 hspecparora2io.pc.cc:1348 hspecparora2io.pc.cc:1349 hspecparora2io.pc.cc:1350 hspecparora2io.pc.cc:1351 hspecparora2io.pc.cc:1352 hspecparora2io.pc.cc:1353 hspecparora2io.pc.cc:1354 hspecparora2io.pc.cc:1355 hspecparora2io.pc.cc:1356 hspecparora2io.pc.cc:1357 hspecparora2io.pc.cc:1358 hspecparora2io.pc.cc:1359 hspecparora2io.pc.cc:1360 hspecparora2io.pc.cc:1361 hspecparora2io.pc.cc:1362 hspecparora2io.pc.cc:1363 hspecparora2io.pc.cc:1364 hspecparora2io.pc.cc:1365 hspecparora2io.pc.cc:1366 hspecparora2io.pc.cc:1367 hspecparora2io.pc.cc:1368 hspecparora2io.pc.cc:1369 hspecparora2io.pc.cc:1370 hspecparora2io.pc.cc:1371 hspecparora2io.pc.cc:1372 hspecparora2io.pc.cc:1373 hspecparora2io.pc.cc:1374 hspecparora2io.pc.cc:1375 hspecparora2io.pc.cc:1376 hspecparora2io.pc.cc:1377 hspecparora2io.pc.cc:1378 hspecparora2io.pc.cc:1379 hspecparora2io.pc.cc:1380 hspecparora2io.pc.cc:1381 hspecparora2io.pc.cc:1382 hspecparora2io.pc.cc:1383 hspecparora2io.pc.cc:1384 hspecparora2io.pc.cc:1385 hspecparora2io.pc.cc:1386 hspecparora2io.pc.cc:1387 hspecparora2io.pc.cc:1388 hspecparora2io.pc.cc:1389 hspecparora2io.pc.cc:1390 hspecparora2io.pc.cc:1391 hspecparora2io.pc.cc:1392 hspecparora2io.pc.cc:1393 hspecparora2io.pc.cc:1394 hspecparora2io.pc.cc:1395 hspecparora2io.pc.cc:1396 hspecparora2io.pc.cc:1397 hspecparora2io.pc.cc:1398 hspecparora2io.pc.cc:1399 hspecparora2io.pc.cc:1400 hspecparora2io.pc.cc:1401 hspecparora2io.pc.cc:1402 hspecparora2io.pc.cc:1403 hspecparora2io.pc.cc:1404 hspecparora2io.pc.cc:1405 hspecparora2io.pc.cc:1406 hspecparora2io.pc.cc:1407 hspecparora2io.pc.cc:1408 hspecparora2io.pc.cc:1409 hspecparora2io.pc.cc:1410 hspecparora2io.pc.cc:1411 hspecparora2io.pc.cc:1412 hspecparora2io.pc.cc:1413 hspecparora2io.pc.cc:1414 hspecparora2io.pc.cc:1415 hspecparora2io.pc.cc:1416 hspecparora2io.pc.cc:1417 hspecparora2io.pc.cc:1418 hspecparora2io.pc.cc:1419 hspecparora2io.pc.cc:1420 hspecparora2io.pc.cc:1421 hspecparora2io.pc.cc:1422 hspecparora2io.pc.cc:1423 hspecparora2io.pc.cc:1424 hspecparora2io.pc.cc:1425 hspecparora2io.pc.cc:1426 hspecparora2io.pc.cc:1427 hspecparora2io.pc.cc:1428 hspecparora2io.pc.cc:1429 hspecparora2io.pc.cc:1430 hspecparora2io.pc.cc:1431 hspecparora2io.pc.cc:1432 hspecparora2io.pc.cc:1433 hspecparora2io.pc.cc:1434 hspecparora2io.pc.cc:1435 hspecparora2io.pc.cc:1436 hspecparora2io.pc.cc:1437 hspecparora2io.pc.cc:1438 hspecparora2io.pc.cc:1439 hspecparora2io.pc.cc:1440 hspecparora2io.pc.cc:1441 hspecparora2io.pc.cc:1442 hspecparora2io.pc.cc:1443 hspecparora2io.pc.cc:1444 hspecparora2io.pc.cc:1445 hspecparora2io.pc.cc:1446 hspecparora2io.pc.cc:1447 hspecparora2io.pc.cc:1448 hspecparora2io.pc.cc:1449 hspecparora2io.pc.cc:1450 hspecparora2io.pc.cc:1451 hspecparora2io.pc.cc:1452 hspecparora2io.pc.cc:1453 hspecparora2io.pc.cc:1454 hspecparora2io.pc.cc:1455 hspecparora2io.pc.cc:1456 hspecparora2io.pc.cc:1457 hspecparora2io.pc.cc:1458 hspecparora2io.pc.cc:1459 hspecparora2io.pc.cc:1460 hspecparora2io.pc.cc:1461 hspecparora2io.pc.cc:1462 hspecparora2io.pc.cc:1463 hspecparora2io.pc.cc:1464 hspecparora2io.pc.cc:1465 hspecparora2io.pc.cc:1466 hspecparora2io.pc.cc:1467 hspecparora2io.pc.cc:1468 hspecparora2io.pc.cc:1469 hspecparora2io.pc.cc:1470 hspecparora2io.pc.cc:1471 hspecparora2io.pc.cc:1472 hspecparora2io.pc.cc:1473 hspecparora2io.pc.cc:1474 hspecparora2io.pc.cc:1475 hspecparora2io.pc.cc:1476 hspecparora2io.pc.cc:1477 hspecparora2io.pc.cc:1478 hspecparora2io.pc.cc:1479 hspecparora2io.pc.cc:1480 hspecparora2io.pc.cc:1481 hspecparora2io.pc.cc:1482 hspecparora2io.pc.cc:1483 hspecparora2io.pc.cc:1484 hspecparora2io.pc.cc:1485 hspecparora2io.pc.cc:1486 hspecparora2io.pc.cc:1487 hspecparora2io.pc.cc:1488 hspecparora2io.pc.cc:1489 hspecparora2io.pc.cc:1490 hspecparora2io.pc.cc:1491 hspecparora2io.pc.cc:1492 hspecparora2io.pc.cc:1493 hspecparora2io.pc.cc:1494 hspecparora2io.pc.cc:1495 hspecparora2io.pc.cc:1496 hspecparora2io.pc.cc:1497 hspecparora2io.pc.cc:1498 hspecparora2io.pc.cc:1499 hspecparora2io.pc.cc:1500 hspecparora2io.pc.cc:1501 hspecparora2io.pc.cc:1502 hspecparora2io.pc.cc:1503 hspecparora2io.pc.cc:1504 hspecparora2io.pc.cc:1505 hspecparora2io.pc.cc:1506 hspecparora2io.pc.cc:1507 hspecparora2io.pc.cc:1508 hspecparora2io.pc.cc:1509 hspecparora2io.pc.cc:1510 hspecparora2io.pc.cc:1511 hspecparora2io.pc.cc:1512 hspecparora2io.pc.cc:1513 hspecparora2io.pc.cc:1514 hspecparora2io.pc.cc:1515 hspecparora2io.pc.cc:1516 hspecparora2io.pc.cc:1517 hspecparora2io.pc.cc:1518 hspecparora2io.pc.cc:1519 hspecparora2io.pc.cc:1520 hspecparora2io.pc.cc:1521 hspecparora2io.pc.cc:1522 hspecparora2io.pc.cc:1523 hspecparora2io.pc.cc:1524 hspecparora2io.pc.cc:1525 hspecparora2io.pc.cc:1526 hspecparora2io.pc.cc:1527 hspecparora2io.pc.cc:1528 hspecparora2io.pc.cc:1529 hspecparora2io.pc.cc:1530 hspecparora2io.pc.cc:1531 hspecparora2io.pc.cc:1532 hspecparora2io.pc.cc:1533 hspecparora2io.pc.cc:1534 hspecparora2io.pc.cc:1535 hspecparora2io.pc.cc:1536 hspecparora2io.pc.cc:1537 hspecparora2io.pc.cc:1538 hspecparora2io.pc.cc:1539 hspecparora2io.pc.cc:1540 hspecparora2io.pc.cc:1541 hspecparora2io.pc.cc:1542 hspecparora2io.pc.cc:1543 hspecparora2io.pc.cc:1544 hspecparora2io.pc.cc:1545 hspecparora2io.pc.cc:1546 hspecparora2io.pc.cc:1547 hspecparora2io.pc.cc:1548 hspecparora2io.pc.cc:1549 hspecparora2io.pc.cc:1550 hspecparora2io.pc.cc:1551 hspecparora2io.pc.cc:1552 hspecparora2io.pc.cc:1553 hspecparora2io.pc.cc:1554 hspecparora2io.pc.cc:1555 hspecparora2io.pc.cc:1556 hspecparora2io.pc.cc:1557 hspecparora2io.pc.cc:1558 hspecparora2io.pc.cc:1559 hspecparora2io.pc.cc:1560 hspecparora2io.pc.cc:1561 hspecparora2io.pc.cc:1562 hspecparora2io.pc.cc:1563 hspecparora2io.pc.cc:1564 hspecparora2io.pc.cc:1565 hspecparora2io.pc.cc:1566 hspecparora2io.pc.cc:1567 hspecparora2io.pc.cc:1568 hspecparora2io.pc.cc:1569 hspecparora2io.pc.cc:1570 hspecparora2io.pc.cc:1571 hspecparora2io.pc.cc:1572 hspecparora2io.pc.cc:1573 hspecparora2io.pc.cc:1574 hspecparora2io.pc.cc:1575 hspecparora2io.pc.cc:1576 hspecparora2io.pc.cc:1577 hspecparora2io.pc.cc:1578 hspecparora2io.pc.cc:1579 hspecparora2io.pc.cc:1580 hspecparora2io.pc.cc:1581 hspecparora2io.pc.cc:1582 hspecparora2io.pc.cc:1583 hspecparora2io.pc.cc:1584 hspecparora2io.pc.cc:1585 hspecparora2io.pc.cc:1586 hspecparora2io.pc.cc:1587 hspecparora2io.pc.cc:1588 hspecparora2io.pc.cc:1589 hspecparora2io.pc.cc:1590 hspecparora2io.pc.cc:1591 hspecparora2io.pc.cc:1592 hspecparora2io.pc.cc:1593 hspecparora2io.pc.cc:1594 hspecparora2io.pc.cc:1595 hspecparora2io.pc.cc:1596 hspecparora2io.pc.cc:1597 hspecparora2io.pc.cc:1598 hspecparora2io.pc.cc:1599 hspecparora2io.pc.cc:1600 hspecparora2io.pc.cc:1601 hspecparora2io.pc.cc:1602 hspecparora2io.pc.cc:1603 hspecparora2io.pc.cc:1604 hspecparora2io.pc.cc:1605 hspecparora2io.pc.cc:1606 hspecparora2io.pc.cc:1607 hspecparora2io.pc.cc:1608 hspecparora2io.pc.cc:1609 hspecparora2io.pc.cc:1610 hspecparora2io.pc.cc:1611 hspecparora2io.pc.cc:1612 hspecparora2io.pc.cc:1613 hspecparora2io.pc.cc:1614 hspecparora2io.pc.cc:1615 hspecparora2io.pc.cc:1616 hspecparora2io.pc.cc:1617 hspecparora2io.pc.cc:1618 hspecparora2io.pc.cc:1619 hspecparora2io.pc.cc:1620 hspecparora2io.pc.cc:1621 hspecparora2io.pc.cc:1622 hspecparora2io.pc.cc:1623 hspecparora2io.pc.cc:1624 hspecparora2io.pc.cc:1625 hspecparora2io.pc.cc:1626 hspecparora2io.pc.cc:1627 hspecparora2io.pc.cc:1628 hspecparora2io.pc.cc:1629 hspecparora2io.pc.cc:1630 hspecparora2io.pc.cc:1631 hspecparora2io.pc.cc:1632 hspecparora2io.pc.cc:1633 hspecparora2io.pc.cc:1634 hspecparora2io.pc.cc:1635 hspecparora2io.pc.cc:1636 hspecparora2io.pc.cc:1637 hspecparora2io.pc.cc:1638 hspecparora2io.pc.cc:1639 hspecparora2io.pc.cc:1640 hspecparora2io.pc.cc:1641 hspecparora2io.pc.cc:1642 hspecparora2io.pc.cc:1643 hspecparora2io.pc.cc:1644 hspecparora2io.pc.cc:1645 hspecparora2io.pc.cc:1646 hspecparora2io.pc.cc:1647 hspecparora2io.pc.cc:1648 hspecparora2io.pc.cc:1649 hspecparora2io.pc.cc:1650 hspecparora2io.pc.cc:1651 hspecparora2io.pc.cc:1652 hspecparora2io.pc.cc:1653 hspecparora2io.pc.cc:1654 hspecparora2io.pc.cc:1655 hspecparora2io.pc.cc:1656 hspecparora2io.pc.cc:1657 hspecparora2io.pc.cc:1658 hspecparora2io.pc.cc:1659 hspecparora2io.pc.cc:1660 hspecparora2io.pc.cc:1661 hspecparora2io.pc.cc:1662 hspecparora2io.pc.cc:1663 hspecparora2io.pc.cc:1664 hspecparora2io.pc.cc:1665 hspecparora2io.pc.cc:1666 hspecparora2io.pc.cc:1667 hspecparora2io.pc.cc:1668 hspecparora2io.pc.cc:1669 hspecparora2io.pc.cc:1670 hspecparora2io.pc.cc:1671 hspecparora2io.pc.cc:1672 hspecparora2io.pc.cc:1673 hspecparora2io.pc.cc:1674 hspecparora2io.pc.cc:1675 hspecparora2io.pc.cc:1676 hspecparora2io.pc.cc:1677 hspecparora2io.pc.cc:1678 hspecparora2io.pc.cc:1679 hspecparora2io.pc.cc:1680 hspecparora2io.pc.cc:1681 hspecparora2io.pc.cc:1682 hspecparora2io.pc.cc:1683 hspecparora2io.pc.cc:1684 hspecparora2io.pc.cc:1685 hspecparora2io.pc.cc:1686 hspecparora2io.pc.cc:1687 hspecparora2io.pc.cc:1688 hspecparora2io.pc.cc:1689 hspecparora2io.pc.cc:1690 hspecparora2io.pc.cc:1691 hspecparora2io.pc.cc:1692 hspecparora2io.pc.cc:1693 hspecparora2io.pc.cc:1694 hspecparora2io.pc.cc:1695 hspecparora2io.pc.cc:1696 hspecparora2io.pc.cc:1697 hspecparora2io.pc.cc:1698 hspecparora2io.pc.cc:1699 hspecparora2io.pc.cc:1700 hspecparora2io.pc.cc:1701 hspecparora2io.pc.cc:1702 hspecparora2io.pc.cc:1703 hspecparora2io.pc.cc:1704 hspecparora2io.pc.cc:1705 hspecparora2io.pc.cc:1706 hspecparora2io.pc.cc:1707 hspecparora2io.pc.cc:1708 hspecparora2io.pc.cc:1709 hspecparora2io.pc.cc:1710 hspecparora2io.pc.cc:1711 hspecparora2io.pc.cc:1712 hspecparora2io.pc.cc:1713 hspecparora2io.pc.cc:1714 hspecparora2io.pc.cc:1715 hspecparora2io.pc.cc:1716 hspecparora2io.pc.cc:1717 hspecparora2io.pc.cc:1718 hspecparora2io.pc.cc:1719 hspecparora2io.pc.cc:1720 hspecparora2io.pc.cc:1721 hspecparora2io.pc.cc:1722 hspecparora2io.pc.cc:1723 hspecparora2io.pc.cc:1724 hspecparora2io.pc.cc:1725 hspecparora2io.pc.cc:1726 hspecparora2io.pc.cc:1727 hspecparora2io.pc.cc:1728 hspecparora2io.pc.cc:1729 hspecparora2io.pc.cc:1730 hspecparora2io.pc.cc:1731 hspecparora2io.pc.cc:1732 hspecparora2io.pc.cc:1733 hspecparora2io.pc.cc:1734 hspecparora2io.pc.cc:1735 hspecparora2io.pc.cc:1736 hspecparora2io.pc.cc:1737 hspecparora2io.pc.cc:1738 hspecparora2io.pc.cc:1739 hspecparora2io.pc.cc:1740 hspecparora2io.pc.cc:1741 hspecparora2io.pc.cc:1742 hspecparora2io.pc.cc:1743 hspecparora2io.pc.cc:1744 hspecparora2io.pc.cc:1745 hspecparora2io.pc.cc:1746 hspecparora2io.pc.cc:1747 hspecparora2io.pc.cc:1748 hspecparora2io.pc.cc:1749 hspecparora2io.pc.cc:1750 hspecparora2io.pc.cc:1751 hspecparora2io.pc.cc:1752 hspecparora2io.pc.cc:1753 hspecparora2io.pc.cc:1754 hspecparora2io.pc.cc:1755 hspecparora2io.pc.cc:1756 hspecparora2io.pc.cc:1757 hspecparora2io.pc.cc:1758 hspecparora2io.pc.cc:1759 hspecparora2io.pc.cc:1760 hspecparora2io.pc.cc:1761 hspecparora2io.pc.cc:1762 hspecparora2io.pc.cc:1763 hspecparora2io.pc.cc:1764 hspecparora2io.pc.cc:1765 hspecparora2io.pc.cc:1766 hspecparora2io.pc.cc:1767 hspecparora2io.pc.cc:1768 hspecparora2io.pc.cc:1769 hspecparora2io.pc.cc:1770 hspecparora2io.pc.cc:1771 hspecparora2io.pc.cc:1772 hspecparora2io.pc.cc:1773 hspecparora2io.pc.cc:1774 hspecparora2io.pc.cc:1775 hspecparora2io.pc.cc:1776 hspecparora2io.pc.cc:1777 hspecparora2io.pc.cc:1778 hspecparora2io.pc.cc:1779 hspecparora2io.pc.cc:1780 hspecparora2io.pc.cc:1781 hspecparora2io.pc.cc:1782 hspecparora2io.pc.cc:1783 hspecparora2io.pc.cc:1784 hspecparora2io.pc.cc:1785 hspecparora2io.pc.cc:1786 hspecparora2io.pc.cc:1787 hspecparora2io.pc.cc:1788 hspecparora2io.pc.cc:1789 hspecparora2io.pc.cc:1790 hspecparora2io.pc.cc:1791 hspecparora2io.pc.cc:1792 hspecparora2io.pc.cc:1793 hspecparora2io.pc.cc:1794 hspecparora2io.pc.cc:1795 hspecparora2io.pc.cc:1796 hspecparora2io.pc.cc:1797 hspecparora2io.pc.cc:1798 hspecparora2io.pc.cc:1799 hspecparora2io.pc.cc:1800 hspecparora2io.pc.cc:1801 hspecparora2io.pc.cc:1802 hspecparora2io.pc.cc:1803 hspecparora2io.pc.cc:1804 hspecparora2io.pc.cc:1805 hspecparora2io.pc.cc:1806 hspecparora2io.pc.cc:1807 hspecparora2io.pc.cc:1808 hspecparora2io.pc.cc:1809 hspecparora2io.pc.cc:1810 hspecparora2io.pc.cc:1811 hspecparora2io.pc.cc:1812 hspecparora2io.pc.cc:1813 hspecparora2io.pc.cc:1814 hspecparora2io.pc.cc:1815 hspecparora2io.pc.cc:1816 hspecparora2io.pc.cc:1817 hspecparora2io.pc.cc:1818 hspecparora2io.pc.cc:1819 hspecparora2io.pc.cc:1820 hspecparora2io.pc.cc:1821 hspecparora2io.pc.cc:1822 hspecparora2io.pc.cc:1823 hspecparora2io.pc.cc:1824 hspecparora2io.pc.cc:1825 hspecparora2io.pc.cc:1826 hspecparora2io.pc.cc:1827 hspecparora2io.pc.cc:1828 hspecparora2io.pc.cc:1829 hspecparora2io.pc.cc:1830 hspecparora2io.pc.cc:1831 hspecparora2io.pc.cc:1832 hspecparora2io.pc.cc:1833 hspecparora2io.pc.cc:1834 hspecparora2io.pc.cc:1835 hspecparora2io.pc.cc:1836 hspecparora2io.pc.cc:1837 hspecparora2io.pc.cc:1838 hspecparora2io.pc.cc:1839 hspecparora2io.pc.cc:1840 hspecparora2io.pc.cc:1841 hspecparora2io.pc.cc:1842 hspecparora2io.pc.cc:1843 hspecparora2io.pc.cc:1844 hspecparora2io.pc.cc:1845 hspecparora2io.pc.cc:1846 hspecparora2io.pc.cc:1847 hspecparora2io.pc.cc:1848 hspecparora2io.pc.cc:1849 hspecparora2io.pc.cc:1850 hspecparora2io.pc.cc:1851 hspecparora2io.pc.cc:1852 hspecparora2io.pc.cc:1853 hspecparora2io.pc.cc:1854 hspecparora2io.pc.cc:1855 hspecparora2io.pc.cc:1856 hspecparora2io.pc.cc:1857 hspecparora2io.pc.cc:1858 hspecparora2io.pc.cc:1859 hspecparora2io.pc.cc:1860 hspecparora2io.pc.cc:1861 hspecparora2io.pc.cc:1862 hspecparora2io.pc.cc:1863 hspecparora2io.pc.cc:1864 hspecparora2io.pc.cc:1865 hspecparora2io.pc.cc:1866 hspecparora2io.pc.cc:1867 hspecparora2io.pc.cc:1868 hspecparora2io.pc.cc:1869 hspecparora2io.pc.cc:1870 hspecparora2io.pc.cc:1871 hspecparora2io.pc.cc:1872 hspecparora2io.pc.cc:1873 hspecparora2io.pc.cc:1874 hspecparora2io.pc.cc:1875 hspecparora2io.pc.cc:1876 hspecparora2io.pc.cc:1877 hspecparora2io.pc.cc:1878 hspecparora2io.pc.cc:1879 hspecparora2io.pc.cc:1880 hspecparora2io.pc.cc:1881 hspecparora2io.pc.cc:1882 hspecparora2io.pc.cc:1883 hspecparora2io.pc.cc:1884 hspecparora2io.pc.cc:1885 hspecparora2io.pc.cc:1886 hspecparora2io.pc.cc:1887 hspecparora2io.pc.cc:1888 hspecparora2io.pc.cc:1889 hspecparora2io.pc.cc:1890 hspecparora2io.pc.cc:1891 hspecparora2io.pc.cc:1892 hspecparora2io.pc.cc:1893 hspecparora2io.pc.cc:1894 hspecparora2io.pc.cc:1895 hspecparora2io.pc.cc:1896 hspecparora2io.pc.cc:1897 hspecparora2io.pc.cc:1898 hspecparora2io.pc.cc:1899 hspecparora2io.pc.cc:1900 hspecparora2io.pc.cc:1901 hspecparora2io.pc.cc:1902 hspecparora2io.pc.cc:1903 hspecparora2io.pc.cc:1904 hspecparora2io.pc.cc:1905 hspecparora2io.pc.cc:1906 hspecparora2io.pc.cc:1907 hspecparora2io.pc.cc:1908 hspecparora2io.pc.cc:1909 hspecparora2io.pc.cc:1910 hspecparora2io.pc.cc:1911 hspecparora2io.pc.cc:1912 hspecparora2io.pc.cc:1913 hspecparora2io.pc.cc:1914 hspecparora2io.pc.cc:1915 hspecparora2io.pc.cc:1916 hspecparora2io.pc.cc:1917 hspecparora2io.pc.cc:1918 hspecparora2io.pc.cc:1919 hspecparora2io.pc.cc:1920 hspecparora2io.pc.cc:1921 hspecparora2io.pc.cc:1922 hspecparora2io.pc.cc:1923 hspecparora2io.pc.cc:1924 hspecparora2io.pc.cc:1925 hspecparora2io.pc.cc:1926 hspecparora2io.pc.cc:1927 hspecparora2io.pc.cc:1928 hspecparora2io.pc.cc:1929 hspecparora2io.pc.cc:1930 hspecparora2io.pc.cc:1931 hspecparora2io.pc.cc:1932 hspecparora2io.pc.cc:1933 hspecparora2io.pc.cc:1934 hspecparora2io.pc.cc:1935 hspecparora2io.pc.cc:1936 hspecparora2io.pc.cc:1937 hspecparora2io.pc.cc:1938 hspecparora2io.pc.cc:1939 hspecparora2io.pc.cc:1940 hspecparora2io.pc.cc:1941 hspecparora2io.pc.cc:1942 hspecparora2io.pc.cc:1943 hspecparora2io.pc.cc:1944 hspecparora2io.pc.cc:1945 hspecparora2io.pc.cc:1946 hspecparora2io.pc.cc:1947 hspecparora2io.pc.cc:1948 hspecparora2io.pc.cc:1949 hspecparora2io.pc.cc:1950 hspecparora2io.pc.cc:1951 hspecparora2io.pc.cc:1952 hspecparora2io.pc.cc:1953 hspecparora2io.pc.cc:1954 hspecparora2io.pc.cc:1955 hspecparora2io.pc.cc:1956 hspecparora2io.pc.cc:1957 hspecparora2io.pc.cc:1958 hspecparora2io.pc.cc:1959 hspecparora2io.pc.cc:1960 hspecparora2io.pc.cc:1961 hspecparora2io.pc.cc:1962 hspecparora2io.pc.cc:1963 hspecparora2io.pc.cc:1964 hspecparora2io.pc.cc:1965 hspecparora2io.pc.cc:1966 hspecparora2io.pc.cc:1967 hspecparora2io.pc.cc:1968 hspecparora2io.pc.cc:1969 hspecparora2io.pc.cc:1970 hspecparora2io.pc.cc:1971 hspecparora2io.pc.cc:1972 hspecparora2io.pc.cc:1973 hspecparora2io.pc.cc:1974 hspecparora2io.pc.cc:1975 hspecparora2io.pc.cc:1976 hspecparora2io.pc.cc:1977 hspecparora2io.pc.cc:1978 hspecparora2io.pc.cc:1979 hspecparora2io.pc.cc:1980 hspecparora2io.pc.cc:1981 hspecparora2io.pc.cc:1982 hspecparora2io.pc.cc:1983 hspecparora2io.pc.cc:1984 hspecparora2io.pc.cc:1985 hspecparora2io.pc.cc:1986 hspecparora2io.pc.cc:1987 hspecparora2io.pc.cc:1988 hspecparora2io.pc.cc:1989 hspecparora2io.pc.cc:1990 hspecparora2io.pc.cc:1991 hspecparora2io.pc.cc:1992 hspecparora2io.pc.cc:1993 hspecparora2io.pc.cc:1994 hspecparora2io.pc.cc:1995 hspecparora2io.pc.cc:1996 hspecparora2io.pc.cc:1997 hspecparora2io.pc.cc:1998 hspecparora2io.pc.cc:1999 hspecparora2io.pc.cc:2000 hspecparora2io.pc.cc:2001 hspecparora2io.pc.cc:2002 hspecparora2io.pc.cc:2003 hspecparora2io.pc.cc:2004 hspecparora2io.pc.cc:2005 hspecparora2io.pc.cc:2006 hspecparora2io.pc.cc:2007 hspecparora2io.pc.cc:2008 hspecparora2io.pc.cc:2009 hspecparora2io.pc.cc:2010 hspecparora2io.pc.cc:2011 hspecparora2io.pc.cc:2012 hspecparora2io.pc.cc:2013 hspecparora2io.pc.cc:2014 hspecparora2io.pc.cc:2015 hspecparora2io.pc.cc:2016 hspecparora2io.pc.cc:2017 hspecparora2io.pc.cc:2018 hspecparora2io.pc.cc:2019 hspecparora2io.pc.cc:2020 hspecparora2io.pc.cc:2021 hspecparora2io.pc.cc:2022 hspecparora2io.pc.cc:2023 hspecparora2io.pc.cc:2024 hspecparora2io.pc.cc:2025 hspecparora2io.pc.cc:2026 hspecparora2io.pc.cc:2027 hspecparora2io.pc.cc:2028 hspecparora2io.pc.cc:2029 hspecparora2io.pc.cc:2030 hspecparora2io.pc.cc:2031 hspecparora2io.pc.cc:2032 hspecparora2io.pc.cc:2033 hspecparora2io.pc.cc:2034 hspecparora2io.pc.cc:2035 hspecparora2io.pc.cc:2036 hspecparora2io.pc.cc:2037 hspecparora2io.pc.cc:2038 hspecparora2io.pc.cc:2039 hspecparora2io.pc.cc:2040 hspecparora2io.pc.cc:2041 hspecparora2io.pc.cc:2042 hspecparora2io.pc.cc:2043 hspecparora2io.pc.cc:2044 hspecparora2io.pc.cc:2045 hspecparora2io.pc.cc:2046 hspecparora2io.pc.cc:2047 hspecparora2io.pc.cc:2048 hspecparora2io.pc.cc:2049 hspecparora2io.pc.cc:2050 hspecparora2io.pc.cc:2051 hspecparora2io.pc.cc:2052 hspecparora2io.pc.cc:2053 hspecparora2io.pc.cc:2054 hspecparora2io.pc.cc:2055 hspecparora2io.pc.cc:2056 hspecparora2io.pc.cc:2057 hspecparora2io.pc.cc:2058 hspecparora2io.pc.cc:2059 hspecparora2io.pc.cc:2060 hspecparora2io.pc.cc:2061 hspecparora2io.pc.cc:2062 hspecparora2io.pc.cc:2063 hspecparora2io.pc.cc:2064 hspecparora2io.pc.cc:2065 hspecparora2io.pc.cc:2066 hspecparora2io.pc.cc:2067 hspecparora2io.pc.cc:2068 hspecparora2io.pc.cc:2069 hspecparora2io.pc.cc:2070 hspecparora2io.pc.cc:2071 hspecparora2io.pc.cc:2072 hspecparora2io.pc.cc:2073 hspecparora2io.pc.cc:2074 hspecparora2io.pc.cc:2075 hspecparora2io.pc.cc:2076 hspecparora2io.pc.cc:2077 hspecparora2io.pc.cc:2078 hspecparora2io.pc.cc:2079 hspecparora2io.pc.cc:2080 hspecparora2io.pc.cc:2081 hspecparora2io.pc.cc:2082 hspecparora2io.pc.cc:2083 hspecparora2io.pc.cc:2084 hspecparora2io.pc.cc:2085 hspecparora2io.pc.cc:2086 hspecparora2io.pc.cc:2087 hspecparora2io.pc.cc:2088 hspecparora2io.pc.cc:2089 hspecparora2io.pc.cc:2090 hspecparora2io.pc.cc:2091 hspecparora2io.pc.cc:2092 hspecparora2io.pc.cc:2093 hspecparora2io.pc.cc:2094 hspecparora2io.pc.cc:2095 hspecparora2io.pc.cc:2096 hspecparora2io.pc.cc:2097 hspecparora2io.pc.cc:2098 hspecparora2io.pc.cc:2099 hspecparora2io.pc.cc:2100 hspecparora2io.pc.cc:2101 hspecparora2io.pc.cc:2102 hspecparora2io.pc.cc:2103 hspecparora2io.pc.cc:2104 hspecparora2io.pc.cc:2105 hspecparora2io.pc.cc:2106 hspecparora2io.pc.cc:2107 hspecparora2io.pc.cc:2108 hspecparora2io.pc.cc:2109 hspecparora2io.pc.cc:2110 hspecparora2io.pc.cc:2111 hspecparora2io.pc.cc:2112 hspecparora2io.pc.cc:2113 hspecparora2io.pc.cc:2114 hspecparora2io.pc.cc:2115 hspecparora2io.pc.cc:2116 hspecparora2io.pc.cc:2117 hspecparora2io.pc.cc:2118 hspecparora2io.pc.cc:2119 hspecparora2io.pc.cc:2120 hspecparora2io.pc.cc:2121 hspecparora2io.pc.cc:2122 hspecparora2io.pc.cc:2123 hspecparora2io.pc.cc:2124 hspecparora2io.pc.cc:2125 hspecparora2io.pc.cc:2126 hspecparora2io.pc.cc:2127 hspecparora2io.pc.cc:2128 hspecparora2io.pc.cc:2129 hspecparora2io.pc.cc:2130 hspecparora2io.pc.cc:2131 hspecparora2io.pc.cc:2132 hspecparora2io.pc.cc:2133 hspecparora2io.pc.cc:2134 hspecparora2io.pc.cc:2135 hspecparora2io.pc.cc:2136 hspecparora2io.pc.cc:2137 hspecparora2io.pc.cc:2138 hspecparora2io.pc.cc:2139 hspecparora2io.pc.cc:2140 hspecparora2io.pc.cc:2141 hspecparora2io.pc.cc:2142 hspecparora2io.pc.cc:2143 hspecparora2io.pc.cc:2144 hspecparora2io.pc.cc:2145 hspecparora2io.pc.cc:2146 hspecparora2io.pc.cc:2147 hspecparora2io.pc.cc:2148 hspecparora2io.pc.cc:2149 hspecparora2io.pc.cc:2150 hspecparora2io.pc.cc:2151 hspecparora2io.pc.cc:2152 hspecparora2io.pc.cc:2153 hspecparora2io.pc.cc:2154 hspecparora2io.pc.cc:2155 hspecparora2io.pc.cc:2156 hspecparora2io.pc.cc:2157 hspecparora2io.pc.cc:2158 hspecparora2io.pc.cc:2159 hspecparora2io.pc.cc:2160 hspecparora2io.pc.cc:2161 hspecparora2io.pc.cc:2162 hspecparora2io.pc.cc:2163 hspecparora2io.pc.cc:2164 hspecparora2io.pc.cc:2165 hspecparora2io.pc.cc:2166 hspecparora2io.pc.cc:2167 hspecparora2io.pc.cc:2168 hspecparora2io.pc.cc:2169 hspecparora2io.pc.cc:2170 hspecparora2io.pc.cc:2171 hspecparora2io.pc.cc:2172 hspecparora2io.pc.cc:2173 hspecparora2io.pc.cc:2174 hspecparora2io.pc.cc:2175 hspecparora2io.pc.cc:2176 hspecparora2io.pc.cc:2177 hspecparora2io.pc.cc:2178 hspecparora2io.pc.cc:2179 hspecparora2io.pc.cc:2180 hspecparora2io.pc.cc:2181 hspecparora2io.pc.cc:2182 hspecparora2io.pc.cc:2183 hspecparora2io.pc.cc:2184 hspecparora2io.pc.cc:2185 hspecparora2io.pc.cc:2186 hspecparora2io.pc.cc:2187 hspecparora2io.pc.cc:2188 hspecparora2io.pc.cc:2189 hspecparora2io.pc.cc:2190 hspecparora2io.pc.cc:2191 hspecparora2io.pc.cc:2192 hspecparora2io.pc.cc:2193 hspecparora2io.pc.cc:2194 hspecparora2io.pc.cc:2195 hspecparora2io.pc.cc:2196 hspecparora2io.pc.cc:2197 hspecparora2io.pc.cc:2198 hspecparora2io.pc.cc:2199 hspecparora2io.pc.cc:2200 hspecparora2io.pc.cc:2201 hspecparora2io.pc.cc:2202 hspecparora2io.pc.cc:2203 hspecparora2io.pc.cc:2204 hspecparora2io.pc.cc:2205 hspecparora2io.pc.cc:2206 hspecparora2io.pc.cc:2207 hspecparora2io.pc.cc:2208 hspecparora2io.pc.cc:2209 hspecparora2io.pc.cc:2210 hspecparora2io.pc.cc:2211 hspecparora2io.pc.cc:2212 hspecparora2io.pc.cc:2213 hspecparora2io.pc.cc:2214 hspecparora2io.pc.cc:2215 hspecparora2io.pc.cc:2216 hspecparora2io.pc.cc:2217 hspecparora2io.pc.cc:2218 hspecparora2io.pc.cc:2219 hspecparora2io.pc.cc:2220 hspecparora2io.pc.cc:2221 hspecparora2io.pc.cc:2222 hspecparora2io.pc.cc:2223 hspecparora2io.pc.cc:2224 hspecparora2io.pc.cc:2225 hspecparora2io.pc.cc:2226 hspecparora2io.pc.cc:2227 hspecparora2io.pc.cc:2228 hspecparora2io.pc.cc:2229 hspecparora2io.pc.cc:2230 hspecparora2io.pc.cc:2231 hspecparora2io.pc.cc:2232 hspecparora2io.pc.cc:2233 hspecparora2io.pc.cc:2234 hspecparora2io.pc.cc:2235 hspecparora2io.pc.cc:2236 hspecparora2io.pc.cc:2237 hspecparora2io.pc.cc:2238 hspecparora2io.pc.cc:2239 hspecparora2io.pc.cc:2240 hspecparora2io.pc.cc:2241 hspecparora2io.pc.cc:2242 hspecparora2io.pc.cc:2243 hspecparora2io.pc.cc:2244 hspecparora2io.pc.cc:2245 hspecparora2io.pc.cc:2246 hspecparora2io.pc.cc:2247 hspecparora2io.pc.cc:2248 hspecparora2io.pc.cc:2249 hspecparora2io.pc.cc:2250 hspecparora2io.pc.cc:2251 hspecparora2io.pc.cc:2252 hspecparora2io.pc.cc:2253 hspecparora2io.pc.cc:2254 hspecparora2io.pc.cc:2255 hspecparora2io.pc.cc:2256 hspecparora2io.pc.cc:2257 hspecparora2io.pc.cc:2258 hspecparora2io.pc.cc:2259 hspecparora2io.pc.cc:2260 hspecparora2io.pc.cc:2261 hspecparora2io.pc.cc:2262 hspecparora2io.pc.cc:2263 hspecparora2io.pc.cc:2264 hspecparora2io.pc.cc:2265 hspecparora2io.pc.cc:2266 hspecparora2io.pc.cc:2267 hspecparora2io.pc.cc:2268 hspecparora2io.pc.cc:2269 hspecparora2io.pc.cc:2270 hspecparora2io.pc.cc:2271 hspecparora2io.pc.cc:2272 hspecparora2io.pc.cc:2273 hspecparora2io.pc.cc:2274 hspecparora2io.pc.cc:2275 hspecparora2io.pc.cc:2276 hspecparora2io.pc.cc:2277 hspecparora2io.pc.cc:2278 hspecparora2io.pc.cc:2279 hspecparora2io.pc.cc:2280 hspecparora2io.pc.cc:2281 hspecparora2io.pc.cc:2282 hspecparora2io.pc.cc:2283 hspecparora2io.pc.cc:2284 hspecparora2io.pc.cc:2285 hspecparora2io.pc.cc:2286 hspecparora2io.pc.cc:2287 hspecparora2io.pc.cc:2288 hspecparora2io.pc.cc:2289 hspecparora2io.pc.cc:2290 hspecparora2io.pc.cc:2291 hspecparora2io.pc.cc:2292 hspecparora2io.pc.cc:2293 hspecparora2io.pc.cc:2294 hspecparora2io.pc.cc:2295 hspecparora2io.pc.cc:2296 hspecparora2io.pc.cc:2297 hspecparora2io.pc.cc:2298 hspecparora2io.pc.cc:2299 hspecparora2io.pc.cc:2300 hspecparora2io.pc.cc:2301 hspecparora2io.pc.cc:2302 hspecparora2io.pc.cc:2303 hspecparora2io.pc.cc:2304 hspecparora2io.pc.cc:2305 hspecparora2io.pc.cc:2306 hspecparora2io.pc.cc:2307 hspecparora2io.pc.cc:2308 hspecparora2io.pc.cc:2309 hspecparora2io.pc.cc:2310 hspecparora2io.pc.cc:2311 hspecparora2io.pc.cc:2312 hspecparora2io.pc.cc:2313 hspecparora2io.pc.cc:2314 hspecparora2io.pc.cc:2315 hspecparora2io.pc.cc:2316 hspecparora2io.pc.cc:2317 hspecparora2io.pc.cc:2318 hspecparora2io.pc.cc:2319 hspecparora2io.pc.cc:2320 hspecparora2io.pc.cc:2321 hspecparora2io.pc.cc:2322 hspecparora2io.pc.cc:2323 hspecparora2io.pc.cc:2324 hspecparora2io.pc.cc:2325 hspecparora2io.pc.cc:2326 hspecparora2io.pc.cc:2327 hspecparora2io.pc.cc:2328 hspecparora2io.pc.cc:2329 hspecparora2io.pc.cc:2330 hspecparora2io.pc.cc:2331