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

Diff of /YodaProfiler/inc/GLTables.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by mocchiut, Wed Aug 30 11:18:13 2006 UTC revision 1.21 by mocchiut, Fri Oct 19 07:47:51 2007 UTC
# Line 6  Line 6 
6  #include <TSQLServer.h>  #include <TSQLServer.h>
7  #include <TSQLRow.h>  #include <TSQLRow.h>
8  #include <TSQLResult.h>  #include <TSQLResult.h>
9    #include <TSystem.h>
10  #include <GLTablesStruct.h>  #include <GLTablesStruct.h>
11  #include <EventHeader.h>  #include <EventHeader.h>
12  #include <PscuHeader.h>  #include <PscuHeader.h>
13  #include <RunHeaderEvent.h>  #include <RunHeaderEvent.h>
14  #include <RunTrailerEvent.h>  #include <RunTrailerEvent.h>
15    #include <sgp4.h>
16    //
17    
18  using namespace pamela;  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  /**  /**
66   * \brief Class to store GL_RUN data   * \brief Class to store GL_RUN data
67   */   */
68  class GL_RUN : public TObject {  //class GL_RUN : public TObject {
69    class GL_RUN : public GL_TABLES {
70   private:   private:
71            
72   public:   public:
# Line 63  class GL_RUN : public TObject { Line 112  class GL_RUN : public TObject {
112      Int_t Fill_GL_RUN(TSQLServer*);      Int_t Fill_GL_RUN(TSQLServer*);
113      Int_t Query_GL_RUN_FRAGMENTS(TString, TSQLServer*);      Int_t Query_GL_RUN_FRAGMENTS(TString, TSQLServer*);
114      Int_t Fill_GL_RUN_FRAGMENTS(TSQLServer*);      Int_t Fill_GL_RUN_FRAGMENTS(TSQLServer*);
115        Int_t DeleteRun(TSQLServer*, UInt_t, TString);
116        Int_t RestoreRun(TSQLServer*, UInt_t, TString);
117      void Clear();      void Clear();
118      //      //
119      // SETTERS      // SETTERS
# Line 71  class GL_RUN : public TObject { Line 122  class GL_RUN : public TObject {
122      void Set_GL_RUNH(RunHeaderEvent *runt, PscuHeader *pht);      void Set_GL_RUNH(RunHeaderEvent *runt, PscuHeader *pht);
123      void Set_GL_RUNT0();      void Set_GL_RUNT0();
124      void Set_GL_RUNH0();      void Set_GL_RUNH0();
125        //
126        void Set_GL_RUN(TSQLRow *row);
127        //
128      void SetRUNHEADER_TIME(UInt_t abst);      void SetRUNHEADER_TIME(UInt_t abst);
129      void SetRUNTRAILER_TIME(UInt_t abst);      void SetRUNTRAILER_TIME(UInt_t abst);
130      void SetRUNHEADER_PKT(UInt_t abst);      void SetRUNHEADER_PKT(UInt_t abst);
# Line 105  class GL_RUN : public TObject { Line 159  class GL_RUN : public TObject {
159      // GETTERS      // GETTERS
160      //      //
161      void GetLevel2Struct(cGLRun *l2) const;      void GetLevel2Struct(cGLRun *l2) const;
162        UInt_t GetID(){return(ID);};
163      UInt_t GetRUNHEADER_PKT(){return(RUNHEADER_PKT);};      UInt_t GetRUNHEADER_PKT(){return(RUNHEADER_PKT);};
164      UInt_t GetRUNTRAILER_PKT(){return(RUNTRAILER_PKT);};      UInt_t GetRUNTRAILER_PKT(){return(RUNTRAILER_PKT);};
165      UInt_t GetRUNHEADER_TIME(){return(RUNHEADER_TIME);};      UInt_t GetRUNHEADER_TIME(){return(RUNHEADER_TIME);};
# Line 112  class GL_RUN : public TObject { Line 167  class GL_RUN : public TObject {
167      UInt_t GetRUNHEADER_OBT(){return(RUNHEADER_OBT);};      UInt_t GetRUNHEADER_OBT(){return(RUNHEADER_OBT);};
168      UInt_t GetRUNTRAILER_OBT(){return(RUNTRAILER_OBT);};      UInt_t GetRUNTRAILER_OBT(){return(RUNTRAILER_OBT);};
169      UInt_t GetNEVENTS(){return(NEVENTS);};      UInt_t GetNEVENTS(){return(NEVENTS);};
170        UInt_t GetBOOT_NUMBER(){return(BOOT_NUMBER);};
171      UInt_t GetTRK_CALIB(){return(TRK_CALIB_USED);};      UInt_t GetTRK_CALIB(){return(TRK_CALIB_USED);};
172      UInt_t GetPKT_COUNTER(){return(PKT_COUNTER);};      UInt_t GetPKT_COUNTER(){return(PKT_COUNTER);};
173      UInt_t GetLAST_TIMESYNC(){return(LAST_TIMESYNC);};      UInt_t GetLAST_TIMESYNC(){return(LAST_TIMESYNC);};
# Line 128  class GL_RUN : public TObject { Line 184  class GL_RUN : public TObject {
184      UInt_t GetRM_ACQ_SETTING_MODE(){return(RM_ACQ_SETTING_MODE);};      UInt_t GetRM_ACQ_SETTING_MODE(){return(RM_ACQ_SETTING_MODE);};
185      UInt_t GetTRK_CALIB_USED(){return(TRK_CALIB_USED);};      UInt_t GetTRK_CALIB_USED(){return(TRK_CALIB_USED);};
186      UInt_t GetCAL_DSP_MASK(){return(CAL_DSP_MASK);};      UInt_t GetCAL_DSP_MASK(){return(CAL_DSP_MASK);};
187        //
188        GL_RUN* GetGL_RUN(){return this;};
189      //      //
190      ClassDef(GL_RUN,1);      ClassDef(GL_RUN,1);
191  };  };
# Line 137  class GL_RUN : public TObject { Line 194  class GL_RUN : public TObject {
194  /**  /**
195   * \brief Class to store GL_ROOT   * \brief Class to store GL_ROOT
196   */   */
197  class GL_ROOT : public TObject{  class GL_ROOT : public GL_TABLES {
198        //class GL_ROOT : public TObject{
199   private:   private:
200            
201   public:   public:
# Line 158  class GL_ROOT : public TObject{ Line 216  class GL_ROOT : public TObject{
216  /**  /**
217   * \brief Class to store GL_PARAM data   * \brief Class to store GL_PARAM data
218   */   */
219  class GL_PARAM : public TObject{  class GL_PARAM : public GL_TABLES {
220        //class GL_PARAM : public TObject{
221   private:   private:
222            
223   public:   public:
# Line 181  class GL_PARAM : public TObject{ Line 240  class GL_PARAM : public TObject{
240  /**  /**
241   * \brief Class to store GL_TRK_CALIB data   * \brief Class to store GL_TRK_CALIB data
242   */   */
243  class GL_TRK_CALIB : public TObject{  //class GL_TRK_CALIB : public TObject{
244    class GL_TRK_CALIB : public GL_TABLES {
245   private:   private:
246            
247   public:   public:
# Line 196  class GL_TRK_CALIB : public TObject{ Line 256  class GL_TRK_CALIB : public TObject{
256      UInt_t OBT2;      UInt_t OBT2;
257      UInt_t PKT1;      UInt_t PKT1;
258      UInt_t PKT2;      UInt_t PKT2;
259            UInt_t BOOT_NUMBER;
260            UInt_t VALIDATION;
261    
262      GL_TRK_CALIB();      GL_TRK_CALIB();
263    
# Line 208  class GL_TRK_CALIB : public TObject{ Line 270  class GL_TRK_CALIB : public TObject{
270  /**  /**
271   * \brief Class to store GL_CALO_CALIB data   * \brief Class to store GL_CALO_CALIB data
272   */   */
273  class GL_CALO_CALIB : public TObject{  class GL_CALO_CALIB : public GL_TABLES {
274        //class GL_CALO_CALIB : public TObject{
275   private:   private:
276            
277   public:   public:
# Line 222  class GL_CALO_CALIB : public TObject{ Line 285  class GL_CALO_CALIB : public TObject{
285    
286      GL_CALO_CALIB();      GL_CALO_CALIB();
287    
288      Int_t Query_GL_CALO_CALIB(UInt_t time, UInt_t section, TSQLServer *dbc);      Int_t Query_GL_CALO_CALIB(UInt_t time, UInt_t &uptime, UInt_t section, TSQLServer *dbc);
289    
290      ClassDef(GL_CALO_CALIB,1);      ClassDef(GL_CALO_CALIB,1);
291  };  };
# Line 230  class GL_CALO_CALIB : public TObject{ Line 293  class GL_CALO_CALIB : public TObject{
293  /**  /**
294   * \brief Class to store GL_S4_CALIB data   * \brief Class to store GL_S4_CALIB data
295   */   */
296  class GL_S4_CALIB : public TObject{  class GL_S4_CALIB : public GL_TABLES {
297        //class GL_S4_CALIB : public TObject{
298   private:   private:
299            
300   public:   public:
# Line 254  class GL_S4_CALIB : public TObject{ Line 318  class GL_S4_CALIB : public TObject{
318  /**  /**
319   * \brief Class to store TIMESYNC data   * \brief Class to store TIMESYNC data
320   */   */
321  class GL_TIMESYNC : public TObject{  class GL_TIMESYNC : public GL_TABLES {
322        //class GL_TIMESYNC : public TObject{
323   private:   private:
324      UInt_t obtfirst;      UInt_t obtfirst;
325      UInt_t pktfirst;      UInt_t pktfirst;
# Line 262  class GL_TIMESYNC : public TObject{ Line 327  class GL_TIMESYNC : public TObject{
327      //      //
328      UInt_t ID;      UInt_t ID;
329      UInt_t ID_RAW;      UInt_t ID_RAW;
330        UInt_t ID_RESURS_OFFSET;
331      UInt_t OBT0;      UInt_t OBT0;
332      UInt_t TIMESYNC;      UInt_t TIMESYNC;
333      UInt_t TYPE;      UInt_t TYPE;
334        UInt_t T0;
335            
336   public:   public:
337      //      //
# Line 272  class GL_TIMESYNC : public TObject{ Line 339  class GL_TIMESYNC : public TObject{
339      GL_TIMESYNC(UInt_t ID, TString TYPE, TSQLServer *dbc);      GL_TIMESYNC(UInt_t ID, TString TYPE, TSQLServer *dbc);
340      //      //
341      UInt_t DBabsTime(UInt_t OBT);      UInt_t DBabsTime(UInt_t OBT);
342        UInt_t ResursTime(UInt_t OBT);
343      //      //
344      UInt_t DBpkt(UInt_t PKT);      Long64_t DBpkt(UInt_t PKT);
345      ULong64_t DBobt(UInt_t OBT);      Long64_t DBobt(UInt_t OBT);
346      //      //
347        TString ConvertTime(TString &tzone, UInt_t dbt);
348        TString UnConvertTime(TString &tzone, UInt_t dbt);
349        //
350        UInt_t GetTimesync() { return TIMESYNC; };
351        UInt_t GetObt0() { return OBT0; };
352        UInt_t GetT0() { return T0; };
353        UInt_t GetType() { return TYPE; };
354        //
355        ClassDef(GL_TIMESYNC,3);
356    };
357    
358    
359    /*
360     * Class to query a TLE from the db.
361     *
362     * Two non default constructor are avaiable.  It is the same to call
363     * the Query method.
364     *
365     * The class looks for a TLE in the GL_TLE table using the connection
366     * dbc.  You need to pass an UTC date in SQL datetime format or in
367     * unix time (UTC) and it will look for the tle with the nearest and
368     * previous date.  Then it initialize tle to a cTle object,
369     * tleFromTime to the UTC unix time of the tle and tleToTime to the
370     * UTC unix time of the next avaible tle.
371     */
372    class GL_TLE : public GL_TABLES {
373        //class GL_TLE : public TObject{
374     private:
375      Int_t DoQuery(TString query, TSQLServer *dbc);
376      cTle* GiveTle(TSQLRow*);
377    
378      cTle *tle; // the requested tle
379      UInt_t tleFromTime; // unix time (UTC) of the tle
380      UInt_t tleToTime; // unix time (UTC) of the next tle
381    
382      ClassDef(GL_TIMESYNC,1);   public:
383      GL_TLE(){
384        tle = NULL;
385        tleFromTime = 0;
386        tleToTime = 0;
387      };
388    
389      GL_TLE(UInt_t unixtime, TSQLServer *dbc) {
390        Query(unixtime, dbc);
391      };
392    
393      GL_TLE(TString date, TSQLServer *dbc) {
394        Query(date, dbc);
395      };
396    
397      Int_t Query(UInt_t unixtime, TSQLServer *dbc);
398      Int_t Query(TString date, TSQLServer *dbc);
399    
400      cTle* GetTle() const { return tle; }
401      UInt_t GetFromTime() const { return tleFromTime; }
402      UInt_t GetToTime() const { return tleToTime; }
403    
404      ClassDef(GL_TLE,1);
405  };  };
406    
407  #endif  #endif
408    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.21

  ViewVC Help
Powered by ViewVC 1.1.23