/[PAMELA software]/YodaProfiler/inc/PamelaDBOperations.h
ViewVC logotype

Annotation of /YodaProfiler/inc/PamelaDBOperations.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (hide annotations) (download)
Mon Dec 4 11:32:06 2006 UTC (17 years, 11 months ago) by mocchiut
Branch: MAIN
CVS Tags: v3r00, v2r06, v2r05
Changes since 1.11: +2 -0 lines
File MIME type: text/plain
Added -check option to control the GL_RUN table consistency

1 mocchiut 1.1 #ifndef PAMELA_DB_OPERATIONS_H
2     #define PAMELA_DB_OPERATIONS_H
3    
4     #include <iostream>
5     #include <list>
6 mocchiut 1.6
7 mocchiut 1.1 #include <TSQLServer.h>
8     #include <EventHeader.h>
9     #include <PscuHeader.h>
10     #include <mcmd/McmdEvent.h>
11     #include <mcmd/McmdRecord.h>
12     #include <RunHeaderEvent.h>
13     #include <RunTrailerEvent.h>
14     #include <CalibCalPedEvent.h>
15     #include <CalibS4Event.h>
16     #include <CalibTrk1Event.h>
17     #include <CalibTrk2Event.h>
18     #include <varDump/VarDumpEvent.h>
19     #include <varDump/VarDumpRecord.h>
20     #include <physics/S4/S4Event.h>
21 mocchiut 1.6
22 mocchiut 1.1 #include <GLTables.h>
23    
24 mocchiut 1.8 #include <sgp4.h>
25 mocchiut 1.6
26 mocchiut 1.1 using namespace pamela;
27    
28     /**
29     * Collections of Pamela specific operations over a database
30     */
31     class PamelaDBOperations {
32    
33     private:
34     TSQLServer *conn;
35     TFile *file;
36     //
37     RunHeaderEvent *runh;
38     EventHeader *ehh;
39     PscuHeader *phh;
40     RunTrailerEvent *runt;
41     EventHeader *eht;
42     PscuHeader *pht;
43     //
44     GL_RUN *glrun;
45     //
46     TString filerawname;
47     TString filerootname;
48     //
49     UInt_t tsync;
50     UInt_t toffset;
51     //
52 mocchiut 1.7 // Long64_t olderthan;
53     UInt_t dworbit;
54 mocchiut 1.2 //
55 mocchiut 1.1 UInt_t BOOTNO;
56     UInt_t obt0;
57     UInt_t id;
58     UInt_t idroot;
59     UInt_t pktfirst;
60 mocchiut 1.10 UInt_t obtfirst;
61     Long64_t upperobt;
62     Long64_t upperpkt;
63 mocchiut 1.1 UInt_t upperentry;
64     Int_t rtev;
65     Int_t rhev;
66     //
67     // calibration variables
68     //
69     Int_t t1;
70     Int_t t2;
71     UInt_t fromtime;
72     UInt_t obt1;
73     UInt_t pkt1;
74     UInt_t obt2;
75     UInt_t pkt2;
76     UInt_t valid;
77     //
78     //
79     Bool_t NOBOOT;
80     Bool_t debug;
81 mocchiut 1.6
82     // Path to tle file
83     TString tlefilename;
84 pam-fi 1.4
85 mocchiut 1.7 // flag to control profiler actions
86     Bool_t INSERT_RAW;
87     Bool_t INSERT_ROOT;
88     Bool_t VALIDATE;
89 mocchiut 1.9 Bool_t NOFRAG;
90 mocchiut 1.10 Bool_t AUTOBOOT;
91 mocchiut 1.7
92     TDatime *clean_time;
93    
94 mocchiut 1.1 //
95     typedef std::list<const char*> pcksList;
96     static void getPacketsNames(pcksList &pcksNames){
97     pcksNames.push_back("PhysEndRun");
98     pcksNames.push_back("CalibCalPulse1");
99     pcksNames.push_back("CalibCalPulse2");
100     pcksNames.push_back("Physics");
101     pcksNames.push_back("CalibTrkBoth");
102     pcksNames.push_back("CalibTrk1");
103     pcksNames.push_back("CalibTrk2");
104     pcksNames.push_back("CalibTof");
105     pcksNames.push_back("CalibS4");
106     pcksNames.push_back("CalibCalPed");
107     pcksNames.push_back("Calib1_Ac1");
108     pcksNames.push_back("Calib2_Ac1");
109     pcksNames.push_back("Calib1_Ac2");
110     pcksNames.push_back("Calib2_Ac2");
111     pcksNames.push_back("CalibCal");
112     pcksNames.push_back("RunHeader");
113     pcksNames.push_back("RunTrailer");
114     pcksNames.push_back("CalibHeader");
115     pcksNames.push_back("CalibTrailer");
116     pcksNames.push_back("InitHeader");
117     pcksNames.push_back("InitTrailer");
118     pcksNames.push_back("EventTrk");
119     pcksNames.push_back("Log");
120     pcksNames.push_back("VarDump");
121     pcksNames.push_back("ArrDump");
122     pcksNames.push_back("TabDump");
123     pcksNames.push_back("Tmtc");
124     pcksNames.push_back("Mcmd");
125     pcksNames.push_back("ForcedFECmd");
126     pcksNames.push_back("Ac1Init");
127     pcksNames.push_back("CalInit");
128     pcksNames.push_back("TrkInit");
129     pcksNames.push_back("TofInit");
130     pcksNames.push_back("TrgInit");
131     pcksNames.push_back("NdInit");
132     pcksNames.push_back("S4Init");
133     pcksNames.push_back("Ac2Init");
134     pcksNames.push_back("CalAlarm");
135     pcksNames.push_back("Ac1Alarm");
136     pcksNames.push_back("TrkAlarm");
137     pcksNames.push_back("TrgAlarm");
138     pcksNames.push_back("TofAlarm");
139     pcksNames.push_back("S4Alarm");
140     pcksNames.push_back("Ac2Alarm");
141     pcksNames.push_back("TsbT");
142     pcksNames.push_back("TsbB");
143     };
144     //
145     // Functions
146     //
147     void HandleRun();
148     void HandleRunFragments(Bool_t mishead, Bool_t mistrail, UInt_t firstev, UInt_t lastev);
149     void HandleMissingHoT(Bool_t mishead, Bool_t mistrail, UInt_t firstev, UInt_t lastev);
150     void HandleSuspiciousRun();
151     void FillClass();
152     void FillClass(Bool_t mishead, Bool_t mistrail, UInt_t firstev, UInt_t lastev);
153     void HandleTRK_CALIB(Bool_t pk1, Bool_t pk2);
154     //
155 mocchiut 1.9 void RemoveCALIBS();
156     void ValidationOFF();
157     void ReArrangeRUNS();
158     void RemoveRUNS();
159     void RemoveFILES();
160     //
161 mocchiut 1.1 Bool_t IsDebug(){return(debug);};
162     Bool_t IsRunAlreadyInserted();
163     Bool_t IsRunConsistent(Bool_t mishead, Bool_t mistrail, UInt_t &firstev, UInt_t &lastev);
164 mocchiut 1.10 Bool_t AutoBoot(){return(AUTOBOOT);};
165 mocchiut 1.5 //
166     Bool_t MissingTRK_CALIB(UInt_t t1,UInt_t t2);
167     //
168 mocchiut 1.10 Long64_t PKT(UInt_t pkt_num);
169 mocchiut 1.1 //
170 mocchiut 1.10 Long64_t OBT(UInt_t obt);
171 mocchiut 1.1 //
172 mocchiut 1.7 UInt_t AssignRunID();
173 mocchiut 1.1
174 mocchiut 1.6 // GL_TLE related functions
175     int insertTle(cTle*);
176     bool isTlePresent(cTle*);
177    
178 mocchiut 1.1 public:
179     //
180 mocchiut 1.6 PamelaDBOperations(TString host, TString user, TString password, TString filerawname, TString filerootname, UInt_t boot, UInt_t tsync, UInt_t obt0, Bool_t debug, TString tlefilename); // constructor
181 mocchiut 1.1 //
182     void Close(); // destructor
183     //
184     //
185     // Setters
186     //
187     void SetConnection(TString host, TString user, TString password);
188     void SetBOOTnumber(UInt_t boot);
189     void SetRawName(TString str);
190     void SetRootName(TString str);
191     void SetDebugFlag(Bool_t debug);
192     void SetID_RAW(UInt_t idr);
193     void SetID_ROOT(UInt_t idr);
194     void SetTsync(UInt_t ts);
195     void SetObt0(UInt_t ts);
196     void SetCommonGLRUN(UInt_t absth, UInt_t abstt);
197     void SetNOBOOT(Bool_t noboot);
198 mocchiut 1.2 void SetOlderThan(Long64_t oldthan);
199 mocchiut 1.6 void SetTLEPath(TString str);
200 mocchiut 1.7 void SetOrbitNo();
201 mocchiut 1.9 void SetNoFrag(Bool_t nf);
202 mocchiut 1.10 void SetAutoBoot(Bool_t nf);
203 mocchiut 1.1 //
204     Bool_t SetID_RAW();
205     //
206     Int_t SetUpperLimits();
207     //
208     // Getters
209     //
210     Bool_t GetNOBOOT(){return(NOBOOT);};
211     //
212     UInt_t GetID_RAW(){return(id);};
213     UInt_t GetID_ROOT(){return(idroot);};
214     UInt_t GetBOOTnumber(){return(BOOTNO);};
215     //
216     UInt_t GetAbsTime(UInt_t obt);
217     UInt_t GetTsync(){return(tsync);};
218     //
219     const PacketType* GetPacketType(const char* type);
220     //
221     TString GetRawFile(){return((TString)gSystem->BaseName(filerawname.Data()));};
222     TString GetRawPath(){return((TString)gSystem->DirName(filerawname.Data())+'/');};
223     TString GetRootFile(){return((TString)gSystem->BaseName(filerootname.Data()));};
224     TString GetRootPath(){return((TString)gSystem->DirName(filerootname.Data())+'/');};
225     TString GetRootName(){return(filerootname);};
226     TString GetRawName(){return(filerawname);};
227 pam-fi 1.4
228 mocchiut 1.9 const char* GetCleanTime(){return clean_time->AsSQLString();};
229 mocchiut 1.1 //
230     // Functions
231     //
232     Int_t assignBOOT_NUMBER();
233     Int_t insertPamelaRootFile();
234     Int_t insertPamelaRawFile();
235     Int_t insertPamelaGL_TIMESYNC();
236     Int_t insertPamelaRUN();
237     Int_t insertCALO_CALIB();
238     Int_t insertTRK_CALIB();
239     Int_t insertS4_CALIB();
240 mocchiut 1.2 Int_t CleanGL_RUN_FRAGMENTS();
241 mocchiut 1.9 Int_t CleanGL_RUN_FRAGMENTS(TString fcleanfile);
242 mocchiut 1.2 Int_t ValidateRuns();
243 mocchiut 1.9 Int_t ValidateRuns(TString valfile);
244 mocchiut 1.5 Int_t assignVALIDATION(UInt_t ,Bool_t );
245 mocchiut 1.9 Int_t removeFile(TString rootfilename);
246 mocchiut 1.5 //
247     // void OpenFile();
248     void CheckValidate(Long64_t olderthan);
249 pam-fi 1.4 void CheckConnection();
250 mocchiut 1.5 void CheckFile();
251 mocchiut 1.1 //
252 pam-fi 1.4
253 mocchiut 1.9 Bool_t NoFrag(){return(NOFRAG);};
254 mocchiut 1.6 Bool_t InsertRoot(){return(INSERT_ROOT);};
255     Bool_t InsertRaw(){return(INSERT_RAW);};
256     Bool_t Validate(){return(VALIDATE);};
257    
258     // Functions for TLE
259     Int_t populateTLE();
260 pam-fi 1.11
261     UInt_t ValidateTrkCalib( CalibTrk1Event* calibtrk , EventHeader* h);
262     UInt_t ValidateTrkCalib( CalibTrk2Event* calibtrk , EventHeader* h){return ValidateTrkCalib((CalibTrk1Event*)calibtrk,h); };
263 mocchiut 1.12
264     UInt_t Check();
265 pam-fi 1.4
266 mocchiut 1.1 };
267     #endif /* PAMELA_DB_OPERATIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.23