FEDRA emulsion software from the OPERA Collaboration
TOracleServerE Class Reference

#include <TOracleServerE.h>

Inheritance diagram for TOracleServerE:
Collaboration diagram for TOracleServerE:

Public Member Functions

Int_t AddBasetracks (EdbPattern &pat, char *id_eventbrick, char *id_zone)
 
Int_t AddBrick (char *id, char *minx, char *maxx, char *miny, char *maxy, char *minz, char *maxz)
 
Int_t AddPlate (char *data)
 
Int_t AddProcessOperation (char *id_machine, char *id_programsettings, char *id_requester, char *id_parent_operation, char *id_eventbrick, char *id_plate, char *driverlevel, char *templatemarks, char *starttime, char *finishtime, char *success)
 
Int_t AddZone (char *data)
 
Int_t AddZone (EdbPattern &pat, char *data1, char *data2)
 
Int_t GetProcessOperationID (char *id_eventbrick, char *id)
 
Int_t GetProcessOperationID (char *id_programsettings, char *id_eventbrick, char *id_plate, char *id)
 
Int_t ReadBasetracksPattern (char *selection, EdbPattern &pat)
 
Int_t ReadCalibration (int id_brick, EdbPatternsVolume &vol)
 
Int_t ReadDataSet (ULong64_t id_parent_op, int id_brick, EdbPatternsVolume &vol)
 
Int_t ReadMicrotracksPattern (char *selection, EdbPattern &pat)
 
Int_t ReadVolume (char *id_volume, EdbPatternsVolume &vol)
 
Int_t ReadVolume (ULong64_t id_volume, EdbPatternsVolume &vol)
 
bool ReadZplate (int id_plate, int id_eventbrick, EdbPattern &pat)
 
 TOracleServerE (const char *db, const char *uid, const char *pw)
 
Int_t UpdatePlate (char *id_eventbrick, char *id_plate, char *calibration)
 
 ~TOracleServerE ()
 
- Public Member Functions inherited from TOracleServer
void Close (Option_t *opt="")
 
Int_t CreateDataBase (const char *dbname)
 
Int_t DropDataBase (const char *dbname)
 
TSQLResult * GetColumns (const char *dbname, const char *table, const char *wild=0)
 
TSQLResult * GetDataBases (const char *wild=0)
 
TSQLResult * GetTables (const char *dbname, const char *wild=0)
 
Int_t PrintResult ()
 
Int_t PrintResultStr (TString &result)
 
TSQLResult * Query (const char *sql)
 
Int_t QueryTree (char *query, TTree *tree, char *leafs=0)
 
Int_t Reload ()
 
Int_t SelectDataBase (const char *dbname)
 
const char * ServerInfo ()
 
Int_t Shutdown ()
 
 TOracleServer (const char *db, const char *uid, const char *pw)
 
 ~TOracleServer ()
 

Constructor & Destructor Documentation

◆ TOracleServerE()

TOracleServerE::TOracleServerE ( const char *  db,
const char *  uid,
const char *  pw 
)
inline
13 :
14 TOracleServer(db, uid, pw){}
TOracleServer(const char *db, const char *uid, const char *pw)
TOracleServerE * db
Definition: test_oracle.C:8

◆ ~TOracleServerE()

TOracleServerE::~TOracleServerE ( )
inline
15{}

Member Function Documentation

◆ AddBasetracks()

Int_t TOracleServerE::AddBasetracks ( EdbPattern pat,
char *  id_eventbrick,
char *  id_zone 
)
512{
513 char query[2048];
514 char commit[10]="commit";
515
516 try{
517 if (!fStmt)
518 fStmt = fConn->createStatement();
519
520 for(int i=0; i<pat.N(); i++)
521 {
522 EdbSegP *s = pat.GetSegment(i);
523 sprintf(query,"\
524 INSERT INTO OPERA.TB_MIPBASETRACKS (ID_EVENTBRICK, ID_ZONE, POSX, POSY, SLOPEX, SLOPEY, GRAINS, AREASUM, PH, SIGMA, ID_SOWNSIDE, ID_DOWNTRACK, ID_UPSIDE, ID_UPTRACK) \
525 VALUES (%s, %s, %.2f, %.2f, %.2f, %.2f, %d, %d, %d, %d, %d, %d, %d, %d)",
526 id_eventbrick, id_zone, s->X(), s->Y(), s->TX(), s->TY(),
527 (int)s->W(), (int)s->Volume(), 0, 0, 0, 0, 0, 0);
528 fStmt->setSQL(query);
529 }
530
531 Query(commit);
532 printf("%d zones added\n",pat.N());
533
534 } catch (SQLException &oraex) {
535 Error("TOracleServerE", "AddZone; failed: (error: %s)", (oraex.getMessage()).c_str());
536 }
537
538 return 0;
539}
Definition: EdbSegP.h:21
Int_t N() const
Definition: EdbPattern.h:86
EdbSegP * GetSegment(int i) const
Definition: EdbPattern.h:66
Connection * fConn
Definition: TOracleServer.h:48
TSQLResult * Query(const char *sql)
Definition: TOracleServer.cxx:97
oracle::occi::Statement * fStmt
Definition: TOracleServer.h:52
s
Definition: check_shower.C:55

◆ AddBrick()

Int_t TOracleServerE::AddBrick ( char *  id,
char *  minx,
char *  maxx,
char *  miny,
char *  maxy,
char *  minz,
char *  maxz 
)
359{
360 char query[2048];
361 char commit[10]="commit";
362
363 try{
364 if (!fStmt)
365 fStmt = fConn->createStatement();
366
367 sprintf(query,"\
368 INSERT INTO OPERA.TB_EVENTBRICKS (ID, MINX, MAXX, MINY, MAXY, MINZ, MAXZ) \
369 VALUES (%s, %s, %s, %s, %s, %s, %s)",
370 id, minx, maxx, miny, maxy, minz, maxz);
371
372 fStmt->setSQL(query);
373 printf("\nexecute sql query: %s ...\n",query);
374 fStmt->execute();
375 // Query(query);
376 Query(commit);
377
378 printf("Brick added\n");
379 return 0;
380
381 } catch (SQLException &oraex) {
382 Error("TOracleServerE", "AddBrick; failed: (error: %s)", (oraex.getMessage()).c_str());
383 }
384
385 return 1;
386}

◆ AddPlate()

Int_t TOracleServerE::AddPlate ( char *  data)
391{
392 char query[2048];
393 char commit[10]="commit";
394
395 try{
396 if (!fStmt)
397 fStmt = fConn->createStatement();
398
399 sprintf(query,"\
400 INSERT INTO OPERA.TB_PLATES (ID_EVENTBRICK, ID, Z, MAPXX, MAPXY, MAPYX, MAPYY, MAPDX, MAPDY, ISDAMAGED) \
401 VALUES (%s)",data);
402
403 fStmt->setSQL(query);
404 printf("\nexecute sql query: %s ...\n",query);
405 fStmt->execute();
406 // Query(query);
407 Query(commit);
408 printf("Plate added\n");
409
410 } catch (SQLException &oraex) {
411 Error("TOracleServerE", "AddPlate; failed: (error: %s)", (oraex.getMessage()).c_str());
412 }
413
414 return 0;
415}

◆ AddProcessOperation()

Int_t TOracleServerE::AddProcessOperation ( char *  id_machine,
char *  id_programsettings,
char *  id_requester,
char *  id_parent_operation,
char *  id_eventbrick,
char *  id_plate,
char *  driverlevel,
char *  templatemarks,
char *  starttime,
char *  finishtime,
char *  success 
)
554{
555 char query[2048];
556 char commit[10]="commit";
557
558 try{
559 if (!fStmt)
560 fStmt = fConn->createStatement();
561
562 sprintf(query,"\
563 INSERT INTO OPERA.TB_PROC_OPERATIONS (ID_MACHINE, ID_PROGRAMSETTINGS, ID_REQUESTER, ID_PARENT_OPERATION, ID_EVENTBRICK, ID_PLATE, DRIVERLEVEL, TEMPLATEMARKS, STARTTIME, FINISHTIME, SUCCESS) \
564 VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
565 id_machine, id_programsettings, id_requester, id_parent_operation, id_eventbrick, id_plate, driverlevel, templatemarks, starttime, finishtime, success);
566
567 fStmt->setSQL(query);
568 printf("\nexecute sql query: %s ...\n",query);
569 fStmt->execute();
570 // Query(query);
571 Query(commit);
572 printf("Process operation added\n");
573
574 } catch (SQLException &oraex) {
575 Error("TOracleServerE", "AddProcessOperation; failed: (error: %s)", (oraex.getMessage()).c_str());
576 }
577
578 return 0;
579}

◆ AddZone() [1/2]

Int_t TOracleServerE::AddZone ( char *  data)
449{
450 char query[2048];
451 char commit[10]="commit";
452
453 try{
454 if (!fStmt)
455 fStmt = fConn->createStatement();
456
457 sprintf(query,"\
458 INSERT INTO OPERA.TB_ZONES (ID_EVENTBRICK, ID_PLATE, ID_PROCESSOPERATION, MINX, MAXX, MINY, MAXY, RAWDATAPATH, STARTTIME, ENDTIME, BASETHICKNESS, SERIES) \
459 VALUES (%s)",data);
460
461 fStmt->setSQL(query);
462 printf("\nexecute sql query: %s ...\n",query);
463 fStmt->execute();
464 // Query(query);
465 Query(commit);
466 printf("Zone added\n");
467
468 } catch (SQLException &oraex) {
469 Error("TOracleServerE", "AddZone; failed: (error: %s)", (oraex.getMessage()).c_str());
470 }
471
472 return 0;
473}

◆ AddZone() [2/2]

Int_t TOracleServerE::AddZone ( EdbPattern pat,
char *  data1,
char *  data2 
)
479{
480 char query[2048];
481 char commit[10]="commit";
482
483 try{
484 if (!fStmt)
485 fStmt = fConn->createStatement();
486
487 for(int i=0; i<pat.N(); i++)
488 {
489 EdbSegP *s = pat.GetSegment(i);
490 sprintf(query,"\
491 INSERT INTO OPERA.TB_ZONES (ID_EVENTBRICK, ID_PLATE, ID_PROCESSOPERATION, MINX, MAXX, MINY, MAXY, RAWDATAPATH, STARTTIME, ENDTIME, BASETHICKNESS) \
492 VALUES (%s, %.2f, %.2f, %.2f, %.2f, %s)",
493 data1,s->X()-s->SX(),s->X()+s->SX(),s->Y()-s->SY(),s->Y()+s->SY(),data2);
494 fStmt->setSQL(query);
495 // printf("\nexecute sql query: %s ...\n",query);
496 // fStmt->execute();
497 }
498
499 Query(commit);
500 printf("%d zones added\n",pat.N());
501
502 } catch (SQLException &oraex) {
503 Error("TOracleServerE", "AddZone; failed: (error: %s)", (oraex.getMessage()).c_str());
504 }
505
506 return 0;
507}

◆ GetProcessOperationID() [1/2]

Int_t TOracleServerE::GetProcessOperationID ( char *  id_eventbrick,
char *  id 
)
292{
293 char *query= new char[2048];
294
295 try{
296 if (!fStmt)
297 fStmt = fConn->createStatement();
298
299 sprintf(query,"select ID from tb_proc_operations where id_eventbrick=%s",id_eventbrick);
300
301 fStmt->setSQL(query);
302 printf("\nexecute sql query: %s ...\n",query);
303 fStmt->execute();
304 ResultSet *rs = fStmt->getResultSet();
305 while (rs->next()){
306 strcpy(id,rs->getString(1).c_str());
307 }
308 delete rs;
309 // printf("id=%s\n",id);
310
311 } catch (SQLException &oraex) {
312 Error("TOracleServerE", "GetProcessOperationID; failed: (error: %s)", (oraex.getMessage()).c_str());
313 }
314 return 0;
315}
strcpy(cmd,"cp Shower.root Shower2.root")

◆ GetProcessOperationID() [2/2]

Int_t TOracleServerE::GetProcessOperationID ( char *  id_programsettings,
char *  id_eventbrick,
char *  id_plate,
char *  id 
)
320{
321 char *query= new char[2048];
322
323 try{
324 if (!fStmt)
325 fStmt = fConn->createStatement();
326
327 sprintf(query,"\
328 select ID from tb_proc_operations \
329 where id_programsettings=%s and id_eventbrick=%s and id_plate=%s",
330 id_programsettings,id_eventbrick,id_plate);
331
332 fStmt->setSQL(query);
333 printf("\nexecute sql query: %s ...\n",query);
334 fStmt->execute();
335 ResultSet *rs = fStmt->getResultSet();
336 while (rs->next()){
337 strcpy(id,rs->getString(1).c_str());
338 }
339 delete rs;
340 // printf("id=%s\n",id);
341
342 } catch (SQLException &oraex) {
343 Error("TOracleServerE", "GetProcessOperationID; failed: (error: %s)", (oraex.getMessage()).c_str());
344 }
345 return 0;
346}

◆ ReadBasetracksPattern()

Int_t TOracleServerE::ReadBasetracksPattern ( char *  selection,
EdbPattern pat 
)

!! a kind of hack

204{
205 int ntracks=0;
206 char query[2048];
207 try{
208 if (!fStmt)
209 fStmt = fConn->createStatement();
210 sprintf(query, "SELECT \
211 ID_EVENTBRICK, id_zone, ID, POSX, POSY, SLOPEX, SLOPEY, GRAINS, AREASUM, PH, SIGMA \
212 from tb_mipbasetracks where %s",
213 selection);
214 fStmt->setSQL(query);
215 fStmt->setPrefetchRowCount(2000);
216 printf("\nexecute sql query: %s ...\n",query);
217 fStmt->execute();
218 ResultSet *rs = fStmt->getResultSet();
219 EdbSegP seg;
220 while (rs->next()){
221 seg.Set(
222 rs->getInt(3), //id
223 rs->getFloat(4), //posx
224 rs->getFloat(5), //posy
225 rs->getFloat(6), //slopex
226 rs->getFloat(7), //slopey
227 rs->getInt(8), //grains
228 0 //flag
229 );
230 seg.SetZ(pat.Z());
231 seg.SetDZ(300.);
232 seg.SetVolume(rs->getInt(10));
233 seg.SetVid(pat.PID(),0); // keep in a segment also plate ID (by Ale)
234 pat.AddSegment(seg);
235 ntracks++;
236 }
237 delete rs;
238 } catch (SQLException &oraex) {
239 Error("TOracleServerE", "ReadBasetracksPattern failed: (error: %s)", (oraex.getMessage()).c_str());
240 }
241 printf("%d segments are readed\n", ntracks);
242 return ntracks;
243}
int PID() const
Definition: EdbPattern.h:320
void SetVolume(float w)
Definition: EdbSegP.h:136
void SetZ(float z)
Definition: EdbSegP.h:125
void SetDZ(float dz)
Definition: EdbSegP.h:126
void SetVid(int vid, int sid)
Definition: EdbSegP.h:137
void Set(int id, float x, float y, float tx, float ty, float w, int flag)
Definition: EdbSegP.h:87
Float_t Z() const
Definition: EdbPattern.h:84
EdbSegP * AddSegment(int i, EdbSegP &s)
Definition: EdbPattern.cxx:72

◆ ReadCalibration()

Int_t TOracleServerE::ReadCalibration ( int  id_brick,
EdbPatternsVolume vol 
)
17{
18 int nsegtot=0;
19 char query[2048];
20 int npat=0;
21 ULong64_t *proc_list = new ULong64_t[100];
22 TObjArray patterns(100);
23 EdbPattern *pat=0;
24 try{
25 if (!fStmt)
26 fStmt = fConn->createStatement();
27 sprintf(query,"\
28 select id,to_char(calibration) from tb_plates \
29 where id_eventbrick = %d and calibration is not null order by id desc", id_brick);
30
31 fStmt->setSQL(query);
32 printf("\nexecute sql query: %s ...\n",query);
33 fStmt->execute();
34 ResultSet *rs = fStmt->getResultSet();
35 int plate=0;
36 while (rs->next()){
37 sscanf( (rs->getString(1)).c_str(),"%d", &plate );
38 ULong64_t procop=0LL;
39 sscanf( (rs->getString(2)).c_str(),"%lld", &procop );
40 proc_list[npat] = procop;
41 npat++;
42 pat = new EdbPattern(0.,0.,0);
43 pat->SetPID(plate);
44 pat->SetID(id_brick);
45 patterns.Add( pat );
46 }
47 } catch (SQLException &oraex) {
48 Error("TOracleServerE", "ReadPatternsVolume; failed: (error: %s)", (oraex.getMessage()).c_str());
49 }
50 npat = patterns.GetEntries();
51 for(int i=0; i<npat; i++) {
52 pat = (EdbPattern*)patterns.At(i);
53 if( !ReadZplate(pat->ID(), pat->PID(), *pat ) )
54 { printf("skip plate %d %d !\n", pat->ID(),pat->PID()); continue; }
55 sprintf(query,"id_zone in (select id from tb_zones where id_processoperation=%lld)", proc_list[i]);
56 nsegtot += ReadBasetracksPattern(query, *pat);
57 vol.AddPattern(pat);
58 }
59 printf("%d segments extracted from db into PatternsVolume\n",nsegtot);
60
61 return nsegtot;
62}
EdbPatternsVolume * vol
Definition: RecDispNU.C:116
Int_t npat
Definition: Xi2HatStartScript.C:33
Definition: EdbPattern.h:273
void SetID(int id)
Definition: EdbPattern.h:309
void SetPID(int pid)
Definition: EdbPattern.h:310
int ID() const
Definition: EdbPattern.h:319
void AddPattern(EdbPattern *pat)
Definition: EdbPattern.cxx:1707
EdbPoint * At(int i) const
Definition: EdbPattern.h:87
Int_t ReadBasetracksPattern(char *selection, EdbPattern &pat)
Definition: TOracleServerE.cxx:203
bool ReadZplate(int id_plate, int id_eventbrick, EdbPattern &pat)
Definition: TOracleServerE.cxx:165
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1

◆ ReadDataSet()

Int_t TOracleServerE::ReadDataSet ( ULong64_t  id_parent_op,
int  id_brick,
EdbPatternsVolume vol 
)
109{
110 int nsegtot=0;
111 char query[2048];
112 int npat = 0;
113 TObjArray patterns(100);
114 ULong64_t *proc_list = new ULong64_t[100];
115 EdbPattern *pat=0;
116 try{
117 if (!fStmt)
118 fStmt = fConn->createStatement();
119
120 sprintf(query,"\
121select to_char(op.id), op.id_plate, pl.z, op.success \
122from tb_proc_operations op, tb_plates pl \
123where op.id_eventbrick=%d and pl.id_eventbrick=%d and pl.id=op.id_plate and op.id_parent_operation=%lld \
124order by op.id_plate",
125 id_brick, id_brick, id_parent_op);
126
127 fStmt->setSQL(query);
128 printf("\nexecute sql query: %s ...\n",query);
129 fStmt->execute();
130 ResultSet *rs = fStmt->getResultSet();
131
132 ULong64_t procop=0LL;
133 float z=0;
134 int plate=0;
135 npat=0;
136 while (rs->next()){
137 sscanf( (rs->getString(1)).c_str(),"%lld", &procop );
138 plate = rs->getInt(2);
139 z = rs->getFloat(3);
140 proc_list[npat] = procop;
141 npat++;
142 pat = new EdbPattern(0.,0.,z);
143 pat->SetPID(plate);
144 patterns.Add( pat );
145 }
146
147 } catch (SQLException &oraex) {
148 Error("TOracleServerE", "ReadPatternsVolume; failed: (error: %s)", (oraex.getMessage()).c_str());
149 }
150
151 for(int i=0; i<npat; i++) {
152 pat = (EdbPattern*)patterns.At(i);
153 if( !ReadZplate(id_brick, pat->PID(), *pat ) )
154 { printf("skip plate %d %d !\n", id_brick,pat->PID()); continue; }
155 sprintf(query,"id_zone in (select id from tb_zones where id_processoperation=%lld and id_plate=%d)", proc_list[i],pat->PID());
156 nsegtot += ReadBasetracksPattern( query, *pat);
157 vol.AddPattern(pat);
158 }
159 printf("%d segments extracted from db into PatternsVolume\n",nsegtot);
160
161 return nsegtot;
162}

◆ ReadMicrotracksPattern()

Int_t TOracleServerE::ReadMicrotracksPattern ( char *  selection,
EdbPattern pat 
)

!! a kind of hack

247{
248 int ntracks=0;
249 char query[2048];
250 try{
251 if (!fStmt)
252 fStmt = fConn->createStatement();
253 sprintf(query, "SELECT \
254 ID_EVENTBRICK, id_zone, ID, POSX, POSY, SLOPEX, SLOPEY, GRAINS, AREASUM, PH, SIGMA \
255 from TB_MIPMICROTRACKS where %s",
256 selection);
257 fStmt->setSQL(query);
258 fStmt->setPrefetchRowCount(2000);
259 printf("\nexecute sql query: %s ...\n",query);
260 fStmt->execute();
261 ResultSet *rs = fStmt->getResultSet();
262 EdbSegP seg;
263 while (rs->next()){
264 seg.Set(
265 rs->getInt(3), //id
266 rs->getFloat(4), //posx
267 rs->getFloat(5), //posy
268 rs->getFloat(6), //slopex
269 rs->getFloat(7), //slopey
270 rs->getInt(8), //grains
271 0 //flag
272 );
273 seg.SetZ(pat.Z());
274 seg.SetDZ(45.);
275 seg.SetVolume(rs->getInt(10));
276 seg.SetVid(pat.PID(),0); // keep in a segment also plate ID (by Ale)
277 pat.AddSegment(seg);
278 ntracks++;
279 }
280 delete rs;
281 } catch (SQLException &oraex) {
282 Error("TOracleServerE", "ReadBasetracksPattern failed: (error: %s)", (oraex.getMessage()).c_str());
283 }
284 printf("%d segments are readed\n", ntracks);
285 return ntracks;
286}

◆ ReadVolume() [1/2]

Int_t TOracleServerE::ReadVolume ( char *  id_volume,
EdbPatternsVolume vol 
)
66{
67 int nsegtot=0;
68 char query[2048];
69 TObjArray patterns(100);
70 EdbPattern *pat=0;
71 int brick=0;
72 try{
73 if (!fStmt)
74 fStmt = fConn->createStatement();
75 sprintf(query,"\
76 select id_plate,id_eventbrick from TB_VOLUME_SLICES where id_volume=%s order by id_plate", id_volume);
77 fStmt->setSQL(query);
78 printf("\nexecute sql query: %s ...\n",query);
79 fStmt->execute();
80 ResultSet *rs = fStmt->getResultSet();
81 int plate=0;
82 while (rs->next()){
83 sscanf( (rs->getString(1)).c_str(),"%d", &plate );
84 sscanf( (rs->getString(2)).c_str(),"%d", &brick );
85 pat = new EdbPattern(0.,0.,0);
86 pat->SetPID(plate);
87 pat->SetID(brick);
88 patterns.Add( pat );
89 }
90 } catch (SQLException &oraex) {
91 Error("TOracleServerE", "ReadPatternsVolume; failed: (error: %s)", (oraex.getMessage()).c_str());
92 }
93 int npat = patterns.GetEntries();
94 for(int i=0; i<npat; i++) {
95 pat = (EdbPattern*)patterns.At(i);
96 if( !ReadZplate(pat->ID(), pat->PID(), *pat ) )
97 { printf("skip plate %d %d !\n", pat->ID(),pat->PID()); continue; }
98 sprintf(query,"id_zone in (select id_zone from TB_VOLUME_SLICES where id_volume=%s and id_plate=%d and id_eventbrick=%d) and id_eventbrick=%d", id_volume,pat->PID(),brick,brick);
99 nsegtot += ReadBasetracksPattern(query, *pat);
100 vol.AddPattern(pat);
101 }
102 printf("%d segments extracted from db into PatternsVolume\n",nsegtot);
103
104 return nsegtot;
105}
BRICK brick
Definition: RecDispMC.C:103

◆ ReadVolume() [2/2]

Int_t TOracleServerE::ReadVolume ( ULong64_t  id_volume,
EdbPatternsVolume vol 
)

◆ ReadZplate()

bool TOracleServerE::ReadZplate ( int  id_plate,
int  id_eventbrick,
EdbPattern pat 
)
166{
167 char *query= new char[2048];
168 Float_t Z=0;
169 EdbAffine2D *aff=0;
170 try{
171 if (!fStmt)
172 fStmt = fConn->createStatement();
173
174 sprintf(query,
175 "select z,MAPXX,MAPXY,MAPYX,MAPYY,MAPDX,MAPDY from tb_plates \
176 where id_eventbrick=%d and id=%d",
177 id_eventbrick, id_plate);
178 fStmt->setSQL(query);
179 printf("\nexecute sql query: %s ...\n",query);
180 fStmt->execute();
181 ResultSet *rs = fStmt->getResultSet();
182 while (rs->next()){
183 Z = rs->getFloat(1);
184 aff = new EdbAffine2D(rs->getFloat(2),
185 rs->getFloat(3),
186 rs->getFloat(4),
187 rs->getFloat(5),
188 rs->getFloat(6),
189 rs->getFloat(7));
190 }
191 delete rs;
192 printf("z=%f ",Z);
193 pat.SetZ(Z);
194 aff->Print();
195 } catch (SQLException &oraex) {
196 Error("TOracleServerE", "ReadBasetracksPattern; Affine failed: (error: %s)", (oraex.getMessage()).c_str());
197 return false;
198 }
199 return true;
200}
Definition: EdbAffine.h:17
void Print(Option_t *opt="") const
Definition: EdbAffine.cxx:52
void SetZ(float z)
Definition: EdbPattern.h:41
Double_t Z
Definition: tlg2couples.C:104

◆ UpdatePlate()

Int_t TOracleServerE::UpdatePlate ( char *  id_eventbrick,
char *  id_plate,
char *  calibration 
)
421{
422 char query[2048];
423 char commit[10]="commit";
424
425 try{
426 if (!fStmt)
427 fStmt = fConn->createStatement();
428
429 sprintf(query,"UPDATE OPERA.TB_PLATES SET CALIBRATION=%s WHERE ID_EVENTBRICK=%s AND ID=%s",calibration,id_eventbrick,id_plate);
430
431 fStmt->setSQL(query);
432 printf("\nexecute sql query: %s ...\n",query);
433 fStmt->execute();
434 // Query(query);
435 Query(commit);
436 printf("Plate updated\n");
437
438 } catch (SQLException &oraex) {
439 Error("TOracleServerE", "UpdatePlate; failed: (error: %s)", (oraex.getMessage()).c_str());
440 }
441
442 return 0;
443}

The documentation for this class was generated from the following files: