Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DbuSubRunSummary.h

Go to the documentation of this file.
00001 // $Id: DbuSubRunSummary.h,v 1.11 2005/08/26 19:20:59 rhatcher Exp $
00002 
00003 #ifndef DBUSUBRUNSUMMARY_H
00004 #define DBUSUBRUNSUMMARY_H
00005 
00007 // DbuSubRunSummary
00008 //
00009 // Package: DatabaseUpdater
00010 //
00011 // Concept:
00012 //
00013 //
00014 // R. Hatcher 2002-04-19
00016 
00017 #include "DatabaseInterface/DbiTableRow.h"
00018 #include "LeakChecker/Lea.h"
00019 
00020 #include "Validity/VldContext.h"
00021 #include <string>
00022 using std::string;
00023 #include <iosfwd>
00024 
00025 class DbiValidityRec;
00026 
00027 class DbuSubRunSummary;
00028 std::ostream& operator<<(std::ostream& os, const DbuSubRunSummary& drs);
00029 
00030 class DbuSubRunSummary : public DbiTableRow
00031 {
00032 
00033 public:
00034 
00035 // Constructors and destructors.
00036 
00037    DbuSubRunSummary() :
00038      fDetector(Detector::kUnknown), 
00039      fRun(0), fSubRun(0), fRunType(0), 
00040      fStartTime((time_t)0,0), fEndTime((time_t)0,0),
00041      fTermCode(-1), fSnarlRec(-1), fMonitorRec(-1), fLightInjRec(-1),
00042      fNErr(0), fTimeFrames(0), fDroppedFrames(0), fConsistency(0),
00043      fComment("No Comment")
00044      { LEA_CTOR; }
00045 
00046    DbuSubRunSummary(Detector::Detector_t det,
00047                     Int_t run, Short_t subrun, Short_t runtype,
00048                     VldTimeStamp starttime, VldTimeStamp endtime,
00049                     Int_t termcode, Int_t snarlrec, Int_t monitorrec,
00050                     Int_t nerr, Int_t timeframes, Int_t droppedframes,
00051                     Int_t consistency, string comment) :
00052      fDetector(det), fRun(run), fSubRun(subrun), fRunType(runtype), 
00053      fStartTime(starttime), fEndTime(endtime), fTermCode(termcode),
00054      fSnarlRec(snarlrec), fMonitorRec(monitorrec), fLightInjRec(0),
00055      fNErr(nerr), fTimeFrames(timeframes), fDroppedFrames(droppedframes), 
00056      fConsistency(consistency), fComment(comment)
00057      { LEA_CTOR; }
00058 
00059    virtual ~DbuSubRunSummary(){ LEA_DTOR; };
00060 
00061 // State testing member functions
00062 
00063    virtual Int_t GetAggregateNo() const 
00064 #ifdef MULTIAGRREGATE
00065       { return CalcUniqueSeqNo(fDetector,fRun,fSubRun); }
00066 #else
00067       { return -1; }
00068 #endif
00069 
00070    Bool_t IsSameSubRun(Detector::Detector_t det,
00071                        Int_t run, Short_t subrun);
00072 
00073 //          UInt_t GetIndex(UInt_t defIndex) const;
00074 
00075    virtual DbiTableRow* CreateTableRow() const { return new DbuSubRunSummary; }
00076 
00077 // I/O  member functions
00078 
00079    virtual void Fill(DbiResultSet& rs,
00080                      const DbiValidityRec* vrec);
00081    virtual void Store(DbiOutRowStream& ors,
00082                       const DbiValidityRec* vrec) const;
00083 
00084    Int_t              GetSeqNo() const
00085      { return CalcUniqueSeqNo(fDetector,fRun,fSubRun); }
00086 
00087    static Int_t       CalcUniqueSeqNo(Detector::Detector_t det,
00088                                       Int_t run, Short_t subrun);
00089 
00090    static const char* GetTableDescr();
00091 
00092 // flag bits for "consistency"
00093 // use of BIT() makes rootcint barf
00094    typedef enum EConsistencyBits {
00095       kRecCountUnverified = 0x00000001, 
00096       kSawNoRunStart      = 0x00000002,
00097       kSawNoRunComment    = 0x00000004,
00098       kSawNoRunEnd        = 0x00000008,
00099       kInProgress         = 0x00000010
00100    } ConsistencyBits_t;
00101 
00102 private:  
00103 
00104 // Constructors and destructors.
00105 
00106    DbuSubRunSummary(const DbuSubRunSummary& from) 
00107      : DbiTableRow() { LEA_CTOR; *this = from; }
00108 
00109 // Data members
00110 
00111 public: // !!!!!!! for now!
00112 
00113    Detector::Detector_t     fDetector;
00114    SimFlag::SimFlag_t       fSimFlag;
00115    Int_t                    fRun;                                   
00116    Short_t                  fSubRun;                                
00117    Short_t                  fRunType;                               
00118    VldTimeStamp             fStartTime;                             
00119    VldTimeStamp             fEndTime;                               
00120    Int_t                    fTermCode;      // termination code     
00121    Int_t                    fSnarlRec;                              
00122    Int_t                    fMonitorRec;    // monitor + LI streams 
00123    Int_t                    fLightInjRec;
00124    Int_t                    fNErr;                                  
00125    Int_t                    fTimeFrames;                            
00126    Int_t                    fDroppedFrames;                         
00127    Int_t                    fConsistency;   // xchecks              
00128    string                   fComment;                               
00129 
00130 ClassDef(DbuSubRunSummary,0)
00131 
00132 };
00133 
00134 #endif  // DBUSUBRUNSUMMARY_H

Generated on Mon Feb 15 11:06:36 2010 for loon by  doxygen 1.3.9.1