/[PAMELA software]/chewbacca/YodaProfiler/inc/GLTables.h
ViewVC logotype

Annotation of /chewbacca/YodaProfiler/inc/GLTables.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations) (download)
Thu Sep 25 12:13:52 2008 UTC (16 years, 2 months ago) by mocchiut
Branch: MAIN
Changes since 1.2: +1 -0 lines
File MIME type: text/plain
PhysEndRun TB variables added to DB and GL_RUN class, broken calo parameters in the DB fixed

1 mocchiut 1.1 #ifndef gltables_h
2     #define gltables_h
3    
4     #include <TString.h>
5     #include <TObject.h>
6     #include <TSQLServer.h>
7     #include <TSQLRow.h>
8     #include <TSQLResult.h>
9     #include <TSystem.h>
10     #include <GLTablesStruct.h>
11     #include <EventHeader.h>
12     #include <PscuHeader.h>
13     #include <RunHeaderEvent.h>
14     #include <RunTrailerEvent.h>
15     #include <sgp4.h>
16     //
17    
18     using namespace pamela;
19     //
20    
21     static const TString *fHost;
22     static const TString *fUser;
23     static const TString *fPsw;
24     static UInt_t fNquery;
25     static Bool_t fSet;
26    
27     // ==================================================================
28     /**
29     * \brief Class to store GL_RUN data
30     */
31     class GL_TABLES : public TObject {
32     private:
33    
34     public:
35     //
36     TString mh;
37     TString mp;
38     TString mu;
39     GL_TABLES();
40     GL_TABLES(TString, TString, TString);
41     //
42     void Set(TString, TString, TString);
43     //
44     Bool_t IsConnected(TSQLServer *&);
45     //
46     void ResetCounters();
47     void AddQ();
48     //
49     const TString* GetHost(){return(fHost);};
50     const TString* GetUser(){return(fUser);};
51     const TString* GetPsw(){return(fPsw);};
52     TString CGetHost(){return(mh);};
53     TString CGetUser(){return(mu);};
54     TString CGetPsw(){return(mp);};
55     UInt_t GetfNquery(){return(fNquery);};
56     UInt_t GetNqueries();
57     Bool_t IsSet(){return(fSet);};
58     //
59     GL_TABLES *GetGLTABLES(){return this;};
60     //
61     ClassDef(GL_TABLES,2);
62     };
63    
64     // ==================================================================
65 mocchiut 1.3
66 mocchiut 1.1 /**
67     * \brief Class to store GL_RUN data
68     */
69     //class GL_RUN : public TObject {
70     class GL_RUN : public GL_TABLES {
71     private:
72    
73     public:
74     //
75     UInt_t ID;
76     UInt_t ID_RUN_FRAG;
77     UInt_t ID_ROOT_L0;
78     UInt_t ID_ROOT_L2;
79     UInt_t RUNHEADER_TIME;
80     UInt_t RUNTRAILER_TIME;
81     UInt_t RUNHEADER_OBT;
82     UInt_t RUNTRAILER_OBT;
83     UInt_t RUNHEADER_PKT;
84     UInt_t RUNTRAILER_PKT;
85     UInt_t BOOT_NUMBER;
86     UInt_t EV_FROM;
87     UInt_t EV_TO;
88     UInt_t NEVENTS;
89     UInt_t PKT_COUNTER;
90     UInt_t PKT_READY_COUNTER;
91     UInt_t COMPILATIONTIMESTAMP;
92     UInt_t FAV_WRK_SCHEDULE;
93     UInt_t EFF_WRK_SCHEDULE;
94     UInt_t PRH_VAR_TRG_MODE_A;
95     UInt_t PRH_VAR_TRG_MODE_B;
96     UInt_t ACQ_BUILD_INFO;
97     UInt_t ACQ_VAR_INFO;
98     UInt_t RM_ACQ_AFTER_CALIB;
99     UInt_t RM_ACQ_SETTING_MODE;
100     UInt_t TRK_CALIB_USED;
101     UInt_t CAL_DSP_MASK;
102     UInt_t LAST_TIMESYNC;
103     UInt_t OBT_TIMESYNC;
104 mocchiut 1.2 UInt_t PHYSENDRUN_MASK_S3S2S12;
105     UInt_t PHYSENDRUN_MASK_S11CRC;
106 mocchiut 1.1 UInt_t VALIDATION;
107     //
108     //
109     //
110     GL_RUN();
111     //
112     // functions
113     //
114     Int_t Query_GL_RUN(UInt_t, TSQLServer*);
115     Int_t Fill_GL_RUN(TSQLServer*);
116     Int_t Query_GL_RUN_FRAGMENTS(TString, TSQLServer*);
117     Int_t Fill_GL_RUN_FRAGMENTS(TSQLServer*);
118     Int_t DeleteRun(TSQLServer*, UInt_t, TString);
119     Int_t RestoreRun(TSQLServer*, UInt_t, TString);
120     void Clear(Option_t *t="");
121     //
122     // SETTERS
123     //
124     void Set_GL_RUNT(RunTrailerEvent *runt, PscuHeader *pht);
125     void Set_GL_RUNH(RunHeaderEvent *runt, PscuHeader *pht);
126     void Set_GL_RUNT0();
127     void Set_GL_RUNH0();
128     //
129     void Set_GL_RUN(TSQLRow *row);
130     //
131     void SetRUNHEADER_TIME(UInt_t abst);
132     void SetRUNTRAILER_TIME(UInt_t abst);
133     void SetRUNHEADER_PKT(UInt_t abst);
134     void SetRUNTRAILER_PKT(UInt_t abst);
135     void SetRUNHEADER_OBT(UInt_t abst);
136     void SetRUNTRAILER_OBT(UInt_t abst);
137     void SetBOOTNUMBER(UInt_t abst);
138     void SetID(UInt_t);
139     void SetID_ROOT_L2(UInt_t L2);
140     void SetID_ROOT_L0(UInt_t L0);
141     void SetID_RUN_FRAG(UInt_t RUN);
142     void SetVALIDATION(UInt_t valid);
143     void SetEV_FROM(UInt_t evfrom);
144     void SetEV_TO(UInt_t evto);
145     void SetNEVENTS(UInt_t nev);
146     void SetLAST_TIMESYNC(UInt_t ts);
147     void SetOBT_TIMESYNC(UInt_t ts);
148     void SetPKT_COUNTER(UInt_t);
149     void SetPKT_READY_COUNTER(UInt_t);
150     void SetCOMPILATIONTIMESTAMP(UInt_t);
151     void SetFAV_WRK_SCHEDULE(UInt_t);
152     void SetEFF_WRK_SCHEDULE(UInt_t);
153     void SetPRH_VAR_TRG_MODE_A(UInt_t);
154     void SetPRH_VAR_TRG_MODE_B(UInt_t);
155     void SetACQ_BUILD_INFO(UInt_t);
156     void SetACQ_VAR_INFO(UInt_t);
157     void SetRM_ACQ_AFTER_CALIB(UInt_t);
158     void SetRM_ACQ_SETTING_MODE(UInt_t);
159     void SetTRK_CALIB_USED(UInt_t);
160     void SetCAL_DSP_MASK(UInt_t);
161 mocchiut 1.2 void SetPHYSENDRUN_MASK_S3S2S12(UInt_t);
162     void SetPHYSENDRUN_MASK_S11CRC(UInt_t);
163 mocchiut 1.1 //
164     // GETTERS
165     //
166     void GetLevel2Struct(cGLRun *l2) const;
167     UInt_t GetID(){return(ID);};
168     UInt_t GetRUNHEADER_PKT(){return(RUNHEADER_PKT);};
169     UInt_t GetRUNTRAILER_PKT(){return(RUNTRAILER_PKT);};
170     UInt_t GetRUNHEADER_TIME(){return(RUNHEADER_TIME);};
171     UInt_t GetRUNTRAILER_TIME(){return(RUNTRAILER_TIME);};
172     UInt_t GetRUNHEADER_OBT(){return(RUNHEADER_OBT);};
173     UInt_t GetRUNTRAILER_OBT(){return(RUNTRAILER_OBT);};
174     UInt_t GetNEVENTS(){return(NEVENTS);};
175     UInt_t GetBOOT_NUMBER(){return(BOOT_NUMBER);};
176     UInt_t GetTRK_CALIB(){return(TRK_CALIB_USED);};
177     UInt_t GetPKT_COUNTER(){return(PKT_COUNTER);};
178     UInt_t GetLAST_TIMESYNC(){return(LAST_TIMESYNC);};
179     UInt_t GetOBT_TIMESYNC(){return(OBT_TIMESYNC);};
180     UInt_t GetPKT_READY_COUNTER(){return(PKT_READY_COUNTER);};
181     UInt_t GetCOMPILATIONTIMESTAMP(){return(COMPILATIONTIMESTAMP);};
182     UInt_t GetFAV_WRK_SCHEDULE(){return(FAV_WRK_SCHEDULE);};
183     UInt_t GetEFF_WRK_SCHEDULE(){return(EFF_WRK_SCHEDULE);};
184     UInt_t GetPRH_VAR_TRG_MODE_A(){return(PRH_VAR_TRG_MODE_A);};
185     UInt_t GetPRH_VAR_TRG_MODE_B(){return(PRH_VAR_TRG_MODE_B);};
186     UInt_t GetACQ_BUILD_INFO(){return(ACQ_BUILD_INFO);};
187     UInt_t GetACQ_VAR_INFO(){return(ACQ_VAR_INFO);};
188     UInt_t GetRM_ACQ_AFTER_CALIB(){return(RM_ACQ_AFTER_CALIB);};
189     UInt_t GetRM_ACQ_SETTING_MODE(){return(RM_ACQ_SETTING_MODE);};
190     UInt_t GetTRK_CALIB_USED(){return(TRK_CALIB_USED);};
191     UInt_t GetCAL_DSP_MASK(){return(CAL_DSP_MASK);};
192 mocchiut 1.2 UInt_t GetPHYSENDRUN_MASK_S3S2S12(){return (PHYSENDRUN_MASK_S3S2S12);};
193     UInt_t GetPHYSENDRUN_MASK_S11CRC(){return (PHYSENDRUN_MASK_S11CRC);};
194 mocchiut 1.1 //
195     GL_RUN* GetGL_RUN(){return this;};
196     //
197 mocchiut 1.2 ClassDef(GL_RUN,2);
198 mocchiut 1.1 };
199    
200     // ==================================================================
201     /**
202     * \brief Class to store GL_ROOT
203     */
204     class GL_ROOT : public GL_TABLES {
205     //class GL_ROOT : public TObject{
206     private:
207    
208     public:
209     //
210     UInt_t ID;
211     UInt_t ID_RAW;
212     UInt_t ID_TIMESYNC;
213     TString PATH;
214     TString NAME;
215    
216     GL_ROOT();
217    
218     Int_t Query_GL_ROOT(UInt_t id, TSQLServer *dbc);
219    
220     ClassDef(GL_ROOT,1);
221     };
222     // ==================================================================
223     /**
224     * \brief Class to store GL_PARAM data
225     */
226     class GL_PARAM : public GL_TABLES {
227     //class GL_PARAM : public TObject{
228     private:
229    
230     public:
231     //
232     UInt_t ID;
233     TString PATH;
234     TString NAME;
235     UInt_t FROM_TIME;
236     UInt_t TO_TIME;
237     UInt_t TYPE;
238     TString DESCR;
239    
240     GL_PARAM();
241    
242     Int_t Query_GL_PARAM(UInt_t time, UInt_t type, TSQLServer *dbc);
243    
244     ClassDef(GL_PARAM,1);
245     };
246     // ==================================================================
247     /**
248     * \brief Class to store GL_TRK_CALIB data
249     */
250     //class GL_TRK_CALIB : public TObject{
251     class GL_TRK_CALIB : public GL_TABLES {
252     private:
253    
254     public:
255     //
256     UInt_t ID;
257     UInt_t ID_ROOT_L0;
258     UInt_t EV_ROOT_CALIBTRK1 ;
259     UInt_t EV_ROOT_CALIBTRK2 ;
260     UInt_t FROM_TIME;
261     UInt_t TO_TIME;
262     UInt_t OBT1;
263     UInt_t OBT2;
264     UInt_t PKT1;
265     UInt_t PKT2;
266     UInt_t BOOT_NUMBER;
267     UInt_t VALIDATION;
268    
269     GL_TRK_CALIB();
270    
271     Int_t Query_GL_TRK_CALIB(UInt_t time, TSQLServer *dbc);
272    
273     ClassDef(GL_TRK_CALIB,1);
274     };
275    
276     // ==================================================================
277     /**
278     * \brief Class to store GL_CALO_CALIB data
279     */
280     class GL_CALO_CALIB : public GL_TABLES {
281     //class GL_CALO_CALIB : public TObject{
282     private:
283    
284     public:
285     //
286     UInt_t ID;
287     UInt_t ID_ROOT_L0;
288     UInt_t EV_ROOT;
289     UInt_t FROM_TIME;
290     UInt_t TO_TIME;
291     UInt_t SECTION;
292     UInt_t OBT;
293     UInt_t PKT;
294     UInt_t BOOT_NUMBER;
295     UInt_t VALIDATION;
296    
297     GL_CALO_CALIB();
298    
299     Int_t Query_GL_CALO_CALIB(UInt_t time, UInt_t &uptime, UInt_t section, TSQLServer *dbc);
300    
301     ClassDef(GL_CALO_CALIB,2);
302     };
303    
304     // ==================================================================
305     /**
306     * \brief Class to store GL_CALOPULSE_CALIB data
307     */
308     class GL_CALOPULSE_CALIB : public GL_TABLES {
309     private:
310    
311     public:
312     //
313     UInt_t ID;
314     UInt_t ID_ROOT_L0;
315     UInt_t EV_ROOT;
316     UInt_t FROM_TIME;
317     UInt_t TO_TIME;
318     UInt_t SECTION;
319     UInt_t PULSED_STRIP;
320     UInt_t PULSE_AMPLITUDE;
321     UInt_t OBT;
322     UInt_t PKT;
323     UInt_t BOOT_NUMBER;
324     UInt_t VALIDATION;
325    
326     GL_CALOPULSE_CALIB();
327    
328     Int_t Query_GL_CALOPULSE_CALIB(UInt_t time, UInt_t section, UInt_t pampli, TSQLServer *dbc);
329    
330     ClassDef(GL_CALOPULSE_CALIB,1);
331     };
332     // ==================================================================
333     /**
334     * \brief Class to store GL_S4_CALIB data
335     */
336     class GL_S4_CALIB : public GL_TABLES {
337     //class GL_S4_CALIB : public TObject{
338     private:
339    
340     public:
341     //
342     UInt_t ID;
343     UInt_t ID_ROOT_L0;
344     UInt_t EV_ROOT;
345     UInt_t FROM_TIME;
346     UInt_t TO_TIME;
347     UInt_t OBT;
348     UInt_t PKT;
349     UInt_t BOOT_NUMBER;
350    
351     GL_S4_CALIB();
352    
353     Int_t Query_GL_S4_CALIB(UInt_t time, TSQLServer *dbc);
354    
355     ClassDef(GL_S4_CALIB,2);
356     };
357    
358     // ==================================================================
359     /**
360     * \brief Class to store TIMESYNC data
361     */
362     class GL_TIMESYNC : public GL_TABLES {
363     //class GL_TIMESYNC : public TObject{
364     private:
365     UInt_t obtfirst;
366     UInt_t pktfirst;
367     UInt_t toffset;
368     //
369     UInt_t ID;
370     UInt_t ID_RAW;
371     UInt_t ID_RESURS_OFFSET;
372     UInt_t OBT0;
373     UInt_t TIMESYNC;
374     UInt_t TYPE;
375     UInt_t T0;
376    
377     public:
378     //
379     GL_TIMESYNC();
380     GL_TIMESYNC(UInt_t ID, TString TYPE, TSQLServer *dbc);
381     //
382     UInt_t DBabsTime(UInt_t OBT);
383     UInt_t ResursTime(UInt_t OBT);
384     //
385     Long64_t DBpkt(UInt_t PKT);
386     Long64_t DBobt(UInt_t OBT);
387     //
388     TString ConvertTime(TString &tzone, UInt_t dbt);
389     TString UnConvertTime(TString &tzone, UInt_t dbt);
390     //
391     UInt_t GetTimesync() { return TIMESYNC; };
392     UInt_t GetObt0() { return OBT0; };
393     UInt_t GetT0() { return T0; };
394     UInt_t GetType() { return TYPE; };
395     //
396     ClassDef(GL_TIMESYNC,3);
397     };
398    
399    
400     /*
401     * Class to query a TLE from the db.
402     *
403     * Two non default constructor are avaiable. It is the same to call
404     * the Query method.
405     *
406     * The class looks for a TLE in the GL_TLE table using the connection
407     * dbc. You need to pass an UTC date in SQL datetime format or in
408     * unix time (UTC) and it will look for the tle with the nearest and
409     * previous date. Then it initialize tle to a cTle object,
410     * tleFromTime to the UTC unix time of the tle and tleToTime to the
411     * UTC unix time of the next avaible tle.
412     */
413     class GL_TLE : public GL_TABLES {
414     //class GL_TLE : public TObject{
415     private:
416     Int_t DoQuery(TString query, TSQLServer *dbc);
417     cTle* GiveTle(TSQLRow*);
418    
419     cTle *tle; // the requested tle
420     UInt_t tleFromTime; // unix time (UTC) of the tle
421     UInt_t tleToTime; // unix time (UTC) of the next tle
422    
423     public:
424     GL_TLE(){
425     tle = NULL;
426     tleFromTime = 0;
427     tleToTime = 0;
428     };
429    
430     GL_TLE(UInt_t unixtime, TSQLServer *dbc) {
431     Query(unixtime, dbc);
432     };
433    
434     GL_TLE(TString date, TSQLServer *dbc) {
435     Query(date, dbc);
436     };
437    
438     Int_t Query(UInt_t unixtime, TSQLServer *dbc);
439     Int_t Query(TString date, TSQLServer *dbc);
440    
441     cTle* GetTle() const { return tle; }
442     UInt_t GetFromTime() const { return tleFromTime; }
443     UInt_t GetToTime() const { return tleToTime; }
444    
445     ClassDef(GL_TLE,1);
446     };
447    
448     #endif
449    

  ViewVC Help
Powered by ViewVC 1.1.23