/[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.9 by mocchiut, Fri Oct 20 11:11:11 2006 UTC revision 1.20 by mocchiut, Tue Sep 11 07:53:54 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 <cTle.h>  #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 64  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 134  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 143  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 164  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 187  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 216  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 238  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 262  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;
326      UInt_t toffset;      UInt_t toffset;
327      //      //
328      UInt_t ID;      //    UInt_t ID;
329      UInt_t ID_RAW;      //    UInt_t ID_RAW;
330      UInt_t OBT0;      UInt_t OBT0;
331      UInt_t TIMESYNC;      UInt_t TIMESYNC;
332      UInt_t TYPE;      UInt_t TYPE;
333        UInt_t T0;
334            
335   public:   public:
336      //      //
# Line 280  class GL_TIMESYNC : public TObject{ Line 338  class GL_TIMESYNC : public TObject{
338      GL_TIMESYNC(UInt_t ID, TString TYPE, TSQLServer *dbc);      GL_TIMESYNC(UInt_t ID, TString TYPE, TSQLServer *dbc);
339      //      //
340      UInt_t DBabsTime(UInt_t OBT);      UInt_t DBabsTime(UInt_t OBT);
341        UInt_t ResursTime(UInt_t OBT);
342      //      //
343      UInt_t DBpkt(UInt_t PKT);      Long64_t DBpkt(UInt_t PKT);
344      ULong64_t DBobt(UInt_t OBT);      Long64_t DBobt(UInt_t OBT);
345      //      //
346      TString ConvertTime(TString &tzone, UInt_t dbt);      TString ConvertTime(TString &tzone, UInt_t dbt);
347      TString UnConvertTime(TString &tzone, UInt_t dbt);      TString UnConvertTime(TString &tzone, UInt_t dbt);
348        //
349      ClassDef(GL_TIMESYNC,1);      UInt_t GetTimesync() { return TIMESYNC; };
350        UInt_t GetObt0() { return OBT0; };
351        UInt_t GetT0() { return T0; };
352        UInt_t GetType() { return TYPE; };
353        //
354        ClassDef(GL_TIMESYNC,2);
355  };  };
356    
357  /* Class to query a TLE from the db.  
358    /*
359     * Class to query a TLE from the db.
360   *   *
361   * Two methods are implemented.   * Two non default constructor are avaiable.  It is the same to call
362     * the Query method.
363     *
364     * The class looks for a TLE in the GL_TLE table using the connection
365     * dbc.  You need to pass an UTC date in SQL datetime format or in
366     * unix time (UTC) and it will look for the tle with the nearest and
367     * previous date.  Then it initialize tle to a cTle object,
368     * tleFromTime to the UTC unix time of the tle and tleToTime to the
369     * UTC unix time of the next avaible tle.
370   */   */
371  class GL_TLE : public TObject{  class GL_TLE : public GL_TABLES {
372        //class GL_TLE : public TObject{
373   private:   private:
374    cTle *Query_GL_TLE_go(TString, TSQLServer *);    Int_t DoQuery(TString query, TSQLServer *dbc);
375      cTle* GiveTle(TSQLRow*);
376    
377   public:    cTle *tle; // the requested tle
378    GL_TLE();    UInt_t tleFromTime; // unix time (UTC) of the tle
379      UInt_t tleToTime; // unix time (UTC) of the next tle
380    
381    cTle* Query_GL_TLE(UInt_t unixtime, TSQLServer *dbc);   public:
382    cTle* Query_GL_TLE(TString date, TSQLServer *dbc);    GL_TLE(){
383        tle = NULL;
384        tleFromTime = 0;
385        tleToTime = 0;
386      };
387    
388      GL_TLE(UInt_t unixtime, TSQLServer *dbc) {
389        Query(unixtime, dbc);
390      };
391    
392      GL_TLE(TString date, TSQLServer *dbc) {
393        Query(date, dbc);
394      };
395    
396      Int_t Query(UInt_t unixtime, TSQLServer *dbc);
397      Int_t Query(TString date, TSQLServer *dbc);
398    
399      cTle* GetTle() const { return tle; }
400      UInt_t GetFromTime() const { return tleFromTime; }
401      UInt_t GetToTime() const { return tleToTime; }
402    
403    ClassDef(GL_TLE,1);    ClassDef(GL_TLE,1);
404  };  };

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.23