FEDRA emulsion software from the OPERA Collaboration
TOracleServerE2WX.h
Go to the documentation of this file.
1#ifndef ROOT_TOracleServerE2WX
2#define ROOT_TOracleServerE2WX
3
4#include "TOracleServerE2.h"
5#include "EdbView.h"
6#include "EdbBrick.h"
7#include "EdbScanProc.h"
8#include "EdbRunTracking.h"
9
10class TTree;
11class EdbPattern;
13
15
16 private:
18 Bool_t eTestLoad; // if test load do not perform intermediate transactions
19 Bool_t eDoCommit; // true - commit current transaction (default is false)
20 Int_t eERROR; // DB errors counter
21 public:
23 TString eLab;
24 TString eLa;
25
26 public:
27 TOracleServerE2WX(const char *db, const char *uid, const char *pw):
30
31 int GetDBErrors() {return eERROR;}
32 void SetTestLoad(int n) {eTestLoad=true; eDoCommit=0; eNTestLoad=n;}
33 void SetCommit(bool i) {eTestLoad=false; eDoCommit=i; eNTestLoad=kMaxInt;}
34 Bool_t TestLoad() {return eTestLoad;}
35 Int_t AddBrick_Set(char *id, char *idrange_min, char *idrange_max, char *id_partition);
36 Int_t AddBrick_Space(char *id_brick, char *id_set);
37 Int_t AddMicroTrack(char *datamicro);
38 Int_t AddMicroTrack(ULong64_t eventbrick, ULong64_t zone, int side, int id_view, EdbSegP &s);
39 Int_t AddScanbackPrediction(char *dataprediciton);
40 Int_t AddTemplateMarkSets(char *datamarks);
41
42 Int_t AddBSBpathsVolumes(char *databsbpathsvolumes);
43
44 Int_t DeleteBrick(char *id_eventbrick);
45 Int_t DeleteBrickSpace(char *id_brick);
46 Int_t DeleteOperation(char *id_brick, char *id_process_operation);
47 Int_t DeletePlateOperation(char *id_brick, char *id_process_operation, char *id_plate);
48
49 Int_t NviewsPerArea() {return eNviewsPerArea;};
50
51 //------ common service functions (to be moved into parent class) -------------
52 const char *Timestamp();
53
54 Int_t MyQuery(const char *sqlquery);
55 ULong64_t MyQueryInsertReturning( const char *query, const char *var );
56 Int_t SetTransactionRW() {return MyQuery("SET TRANSACTION READ WRITE");}
57 void FinishTransaction();
58 Int_t ROLLBACK() {return MyQuery("ROLLBACK");}
59 //------------------------------
60 void Set0();
61 void Print();
62
63 ULong64_t AddVolume( ULong64_t id_eventbrick,ULong64_t id_process_operation, int ivolume );
64 Int_t AddView(EdbView *view, int id_view, ULong64_t id_eventbrick, ULong64_t id_zone, bool usebuffer=true);
65 Int_t AddViews(EdbRunTracking &rt, ULong64_t id_eventbrick, ULong64_t id_zone, bool usebuffer=true);
66 Int_t AddPlate(ULong64_t id_eventbrick, const char *dataplate);
67 Int_t AddEventBrick(const char *str);
68 ULong64_t IfEventBrick( ULong64_t id_eventbrick, const char *id_set );
69
70 Int_t AddBaseTracks(TTree *tree, ULong64_t id_eventbrick, ULong64_t id_zone, Int_t nvpa, bool usebuffer);
71 Int_t AddBaseTracks(EdbPattern &pat, ULong64_t id_eventbrick, ULong64_t id_zone);
72 Int_t AddPlateCalibration( ULong64_t id_eventbrick, ULong64_t id_process_operation, EdbPlateP *plate);
73// void AddZone(const char *data);
74
75
76 Int_t AddBaseTrack(const char *data);
77
78 ULong64_t AddProcessOperation(
79 ULong64_t id_machine,
80 ULong64_t id_programsettings,
81 ULong64_t id_requester,
82 ULong64_t id_parent_operation,
83 ULong64_t id_eventbrick,
84 Int_t id_plate,
85 Int_t driverlevel,
86 ULong64_t id_calibration,
87 const char *starttime,
88 const char *finishtime,
89 const char *success,
90 const char *notes );
91
92 Int_t AddScanbackPath( ULong64_t id_eventbrick, ULong64_t id_header_operation, int id_path, int id_start_plate, int skipCSconnection);
93
94 ClassDef(TOracleServerE2WX,1) // Write enabled access to the OPERA db
95};
96
97//------------------------------------------------------------------------------------
98class EdbScan2DB : public TObject {
99
100 public:
101
103
104 ULong64_t eBrick;
105 ULong64_t eEventBrick;
106 ULong64_t eEvent;
108 Int_t eIDPATH; // -1 - do not connect path and volume (table TB_B_SBPATHS_VOLUMES)
109 TString eID_SET; // as "'OPERA NA SET 01'"
110 ULong64_t eIdMachine; // as 6000000000010002
111 ULong64_t eIdRequester; // as 6000000000100375
112 ULong64_t eHeaderProgramsettings; // as 6000000000700006
113 ULong64_t eCalibrationProgramsettings; // as 6000000000700004
114 ULong64_t ePredictionProgramsettings; // as 6000000000700005
115 ULong64_t eVolumeProgramsettings; // as 6000000000100374
116 ULong64_t eFeedbackProgramsettings; // as 6000000001371016
120
121 Int_t eX_marks; // 2=in case lateral X-rays marks, followed by a calibration scan;
122 // 1=in case lateral X-rays marks only;
123 // 0=calibration scan only
125
126// Int_t eNviewsPerArea;
127
128 Int_t eERROR; // 0 by default, 1 if error happened
129
130 public:
131 EdbScan2DB();
133
134 void Print();
135 int InitDB(const char *conn, const char *user, const char *pwd);
136 void LoadCalibration( EdbScanProc &sproc, EdbID edbid );
137 void LoadPrediction( EdbScanProc &sproc, EdbID edbid );
138 void LoadVolume( EdbScanProc &sproc, EdbID edbid, EdbID idstop );
139 ULong64_t LoadCalibrationZone( EdbScanProc &sproc, EdbID edbid, ULong64_t operation);
140 void LoadSBData( EdbScanProc &sproc, EdbID id, ULong64_t operation);
141 void LoadSBDataOld( EdbScanProc &sproc, EdbID id, ULong64_t operation);
142 ULong64_t LoadZone( EdbSegP &s, int plate, ULong64_t operation, ULong64_t series, const char *cmt );
143 void AddBrick( EdbScanProc &sproc );
144 ULong64_t AddHeaderOperation(const char *note);
146 ClassDef(EdbScan2DB,1) // scan to oracle db loading class
147};
148
149#endif
Definition: EdbID.h:7
Definition: EdbPattern.h:273
Definition: EdbPattern.h:334
Definition: EdbBrick.h:14
helper class for access to the run data
Definition: EdbRunTracking.h:19
Definition: TOracleServerE2WX.h:98
ULong64_t AddHeaderOperation(const char *note)
Definition: TOracleServerE2WX.cxx:1034
~EdbScan2DB()
Definition: TOracleServerE2WX.h:132
ULong64_t eCalibrationProgramsettings
Definition: TOracleServerE2WX.h:113
ULong64_t ePredictionHeaderOperation
Definition: TOracleServerE2WX.h:118
void AddBrick(EdbScanProc &sproc)
Definition: TOracleServerE2WX.cxx:1578
void LoadSBData(EdbScanProc &sproc, EdbID id, ULong64_t operation)
Definition: TOracleServerE2WX.cxx:1154
ULong64_t eCalibrationHeaderOperation
Definition: TOracleServerE2WX.h:117
Bool_t eWriteRawCalibrationData
Definition: TOracleServerE2WX.h:124
ULong64_t eEvent
Definition: TOracleServerE2WX.h:106
Int_t eX_marks
Definition: TOracleServerE2WX.h:121
Int_t eERROR
Definition: TOracleServerE2WX.h:128
ULong64_t eHeaderProgramsettings
Definition: TOracleServerE2WX.h:112
void Print()
Definition: TOracleServerE2WX.cxx:999
ULong64_t LoadCalibrationZone(EdbScanProc &sproc, EdbID edbid, ULong64_t operation)
Definition: TOracleServerE2WX.cxx:1053
ULong64_t eIdRequester
Definition: TOracleServerE2WX.h:111
TString eID_SET
Definition: TOracleServerE2WX.h:109
ULong64_t eBrick
Definition: TOracleServerE2WX.h:104
Int_t eIsBlackCS
Definition: TOracleServerE2WX.h:107
ULong64_t eIdMachine
Definition: TOracleServerE2WX.h:110
ULong64_t eFeedbackProgramsettings
Definition: TOracleServerE2WX.h:116
ULong64_t LoadZone(EdbSegP &s, int plate, ULong64_t operation, ULong64_t series, const char *cmt)
Definition: TOracleServerE2WX.cxx:1080
ULong64_t eEventBrick
Definition: TOracleServerE2WX.h:105
ULong64_t eVolumeProgramsettings
Definition: TOracleServerE2WX.h:115
void LoadCalibration(EdbScanProc &sproc, EdbID edbid)
Definition: TOracleServerE2WX.cxx:1417
void LoadVolume(EdbScanProc &sproc, EdbID edbid, EdbID idstop)
Definition: TOracleServerE2WX.cxx:1473
TOracleServerE2WX * eDB
Definition: TOracleServerE2WX.h:102
Int_t eIDPATH
Definition: TOracleServerE2WX.h:108
void LoadSBDataOld(EdbScanProc &sproc, EdbID id, ULong64_t operation)
Definition: TOracleServerE2WX.cxx:1254
void LoadPrediction(EdbScanProc &sproc, EdbID edbid)
Definition: TOracleServerE2WX.cxx:1102
ULong64_t eVolumeHeaderOperation
Definition: TOracleServerE2WX.h:119
int InitDB(const char *conn, const char *user, const char *pwd)
Definition: TOracleServerE2WX.cxx:1025
void DumpListOfHeaderOperations()
Definition: TOracleServerE2WX.cxx:1648
ULong64_t ePredictionProgramsettings
Definition: TOracleServerE2WX.h:114
EdbScan2DB()
Definition: TOracleServerE2WX.cxx:975
scanned data processing
Definition: EdbScanProc.h:12
Definition: EdbSegP.h:21
Base scanning data object: entry into Run tree.
Definition: EdbView.h:134
Definition: TOracleServerE2WX.h:14
Int_t AddBaseTrack(const char *data)
Definition: TOracleServerE2WX.cxx:99
Int_t AddScanbackPath(ULong64_t id_eventbrick, ULong64_t id_header_operation, int id_path, int id_start_plate, int skipCSconnection)
Definition: TOracleServerE2WX.cxx:598
Int_t AddViews(EdbRunTracking &rt, ULong64_t id_eventbrick, ULong64_t id_zone, bool usebuffer=true)
Definition: TOracleServerE2WX.cxx:260
Bool_t eTestLoad
Definition: TOracleServerE2WX.h:18
ULong64_t IfEventBrick(ULong64_t id_eventbrick, const char *id_set)
Definition: TOracleServerE2WX.cxx:196
Int_t AddBrick_Set(char *id, char *idrange_min, char *idrange_max, char *id_partition)
Definition: TOracleServerE2WX.cxx:751
TString eLa
as "NAPOLI"
Definition: TOracleServerE2WX.h:24
Int_t AddBaseTracks(TTree *tree, ULong64_t id_eventbrick, ULong64_t id_zone, Int_t nvpa, bool usebuffer)
Definition: TOracleServerE2WX.cxx:455
Int_t DeleteBrick(char *id_eventbrick)
Definition: TOracleServerE2WX.cxx:818
Int_t MyQuery(const char *sqlquery)
Definition: TOracleServerE2WX.cxx:57
Int_t DeleteBrickSpace(char *id_brick)
Definition: TOracleServerE2WX.cxx:863
Bool_t eDoCommit
Definition: TOracleServerE2WX.h:19
TString eLab
Definition: TOracleServerE2WX.h:23
Int_t eNviewsPerArea
Definition: TOracleServerE2WX.h:22
~TOracleServerE2WX()
Definition: TOracleServerE2WX.h:29
Int_t AddBSBpathsVolumes(char *databsbpathsvolumes)
Definition: TOracleServerE2WX.cxx:668
Int_t AddTemplateMarkSets(char *datamarks)
Definition: TOracleServerE2WX.cxx:658
void FinishTransaction()
Definition: TOracleServerE2WX.cxx:45
Int_t AddPlate(ULong64_t id_eventbrick, const char *dataplate)
Definition: TOracleServerE2WX.cxx:249
ULong64_t MyQueryInsertReturning(const char *query, const char *var)
Definition: TOracleServerE2WX.cxx:73
Int_t AddMicroTrack(char *datamicro)
Definition: TOracleServerE2WX.cxx:108
void Print()
Definition: TOracleServerE2WX.cxx:27
const char * Timestamp()
Definition: TOracleServerE2WX.cxx:38
ULong64_t AddVolume(ULong64_t id_eventbrick, ULong64_t id_process_operation, int ivolume)
Definition: TOracleServerE2WX.cxx:643
int GetDBErrors()
Definition: TOracleServerE2WX.h:31
void SetCommit(bool i)
Definition: TOracleServerE2WX.h:33
ULong64_t AddProcessOperation(ULong64_t id_machine, ULong64_t id_programsettings, ULong64_t id_requester, ULong64_t id_parent_operation, ULong64_t id_eventbrick, Int_t id_plate, Int_t driverlevel, ULong64_t id_calibration, const char *starttime, const char *finishtime, const char *success, const char *notes)
Definition: TOracleServerE2WX.cxx:142
Int_t SetTransactionRW()
Definition: TOracleServerE2WX.h:56
void SetTestLoad(int n)
Definition: TOracleServerE2WX.h:32
Int_t DeletePlateOperation(char *id_brick, char *id_process_operation, char *id_plate)
Definition: TOracleServerE2WX.cxx:935
Int_t AddView(EdbView *view, int id_view, ULong64_t id_eventbrick, ULong64_t id_zone, bool usebuffer=true)
Definition: TOracleServerE2WX.cxx:290
Int_t NviewsPerArea()
Definition: TOracleServerE2WX.h:49
Int_t AddPlateCalibration(ULong64_t id_eventbrick, ULong64_t id_process_operation, EdbPlateP *plate)
Definition: TOracleServerE2WX.cxx:682
Int_t eNTestLoad
Definition: TOracleServerE2WX.h:17
Int_t ROLLBACK()
Definition: TOracleServerE2WX.h:58
Int_t AddScanbackPrediction(char *dataprediciton)
Definition: TOracleServerE2WX.cxx:130
TOracleServerE2WX(const char *db, const char *uid, const char *pw)
as "NA"
Definition: TOracleServerE2WX.h:27
Int_t eERROR
Definition: TOracleServerE2WX.h:20
Int_t AddBrick_Space(char *id_brick, char *id_set)
Definition: TOracleServerE2WX.cxx:787
Int_t AddEventBrick(const char *str)
Definition: TOracleServerE2WX.cxx:182
Bool_t TestLoad()
Definition: TOracleServerE2WX.h:34
Int_t DeleteOperation(char *id_brick, char *id_process_operation)
Definition: TOracleServerE2WX.cxx:891
Definition: TOracleServerE2.h:13
EdbScanProc * sproc
Definition: comptonmap.cpp:29
s
Definition: check_shower.C:55
TOracleServerE * db
Definition: test_oracle.C:8
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1