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 
10 class TTree;
11 class EdbPattern;
12 class EdbPatternsVolume;
13 
15 
16  private:
17  Int_t eNTestLoad;
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):
28  TOracleServerE2(db, uid, pw){eNviewsPerArea=0;}
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 //------------------------------------------------------------------------------------
98 class EdbScan2DB : public TObject {
99 
100  public:
101 
103 
104  ULong64_t eBrick;
105  ULong64_t eEventBrick;
106  ULong64_t eEvent;
107  Int_t eIsBlackCS;
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:280
Definition: EdbPattern.h:348
Definition: EdbBrick.h:13
Definition: EdbRunTracking.h:18
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
Definition: EdbScanProc.h:12
Definition: EdbSegP.h:18
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
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1
TOracleServerE * db
Definition: test_oracle.C:8
EdbSegP * s
Definition: tlg2pattern.C:32