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

DbuNearRunQuality.h

Go to the documentation of this file.
00001 #ifndef DBUNEARRUNQUALITY_H
00002 #define DBUNEARRUNQUALITY_H
00003 
00004 #include "DatabaseInterface/DbiTableRow.h"
00005 #include "DatabaseInterface/DbiOutRowStream.h"
00006 #include "DatabaseInterface/DbiResultSet.h"
00007 
00008 class DbiValidityRec;
00009 
00010 class DbuNearRunQuality : public DbiTableRow
00011 {
00012   
00013 using TObject::Compare;  // So can compare class with other objects
00014 
00015  public:
00016 
00017  DbuNearRunQuality() : 
00018    fRun(-1),
00019    fSubRun(-1),
00020    fStartTime(0,0),
00021    fEndTime(0,0),
00022    fSubrunLength(-1),
00023    fPhysicsRun(-1),
00024    fModifiedRun(-1),
00025    fTestRun(-1),
00026    fTriggersPlane(-1),
00027    fTriggersActivity(-1),
00028    fTriggersSpill(-1),
00029    fRopMask(-1),
00030    fTriggerMask(-1),
00031    fColdCrates(-1),
00032    fColdMindersSpec(-1),
00033    fColdMenusSpec(-1),
00034    fColdMindersCal(-1),
00035    fColdMenusCal(-1),
00036    fHotMenusSpec(-1),
00037    fHotMenusCal(-1),
00038    fTimeCountHotMenusSpec(-1),
00039    fTimeCountHotMenusCal(-1),
00040    fTimeCountColdMenusSpec(-1),
00041    fTimeCountColdMenusCal(-1),
00042    fTimeCountColdMindersSpec(-1),
00043    fTimeCountColdMindersCal(-1),
00044    fLIRate(-1),
00045    fHighAdcSpec(-1),
00046    fHighAdcCal(-1),
00047    fNbCapidSpec(-1),
00048    fNbCapidCal(-1),
00049    fNbParitySpec(-1),
00050    fNbParityCal(-1),
00051    fNbMisCountSpec(-1),
00052    fNbMisCountCal(-1),
00053    fNbPriorityTruncSpec(-1),
00054    fNbPriorityTruncCal(-1),
00055    fNbSameMenuSpec(-1),
00056    fNbSameMenuCal(-1),
00057    fNbSharedMinderSpec(-1),
00058    fNbSharedMinderCal(-1),
00059    fNbTransferMinderSpec(-1),
00060    fNbTransferMinderCal(-1),
00061    fAvgLow(-1.0),
00062    fAvgHigh(-1.0),
00063    fAvgGate(-1.0),
00064    fSnarlRateMin(-1),
00065    fSnarlRateMax(-1),
00066    fSnarlRateMedian(-999.9),
00067    fSnarlRateMean(-999.9)
00068    {
00069    }
00070  
00071  DbuNearRunQuality(const DbuNearRunQuality& from) : 
00072    DbiTableRow(from) 
00073    { *this = from; }
00074  
00075  DbuNearRunQuality(Int_t RunConfigArray[],VldTimeStamp start,VldTimeStamp end,Int_t coldcrates,Int_t coldmindersspec,Int_t coldmenusspec,Int_t coldminderscal,Int_t coldmenuscal,Int_t hotmenusspec,Int_t hotmenuscal,Int_t timecounthotmenusspec,Int_t timecounthotmenuscal,Int_t timecountcoldmenusspec,Int_t timecountcoldmenuscal,Int_t timecountcoldmindersspec,Int_t timecountcoldminderscal,Float_t lirate,Int_t highadcspec,Int_t highadccal,Int_t nbcapidspec,Int_t nbcapidcal,Int_t nbparityspec,Int_t nbparitycal,Int_t nbmiscountspec,Int_t nbmiscountcal,Int_t nbprioritytruncspec,Int_t nbprioritytrunccal,Int_t nbsamemenuspec,Int_t nbsamemenucal,Int_t nbsharedminderspec,Int_t nbsharedmindercal,Int_t nbtransferminderspec,Int_t nbtransfermindercal,Float_t avglow,Float_t avghigh,Float_t avggate,Int_t snarlratemin,Int_t snarlratemax,Float_t snarlratemedian,Float_t snarlratemean) : 
00076    fRun(RunConfigArray[0]),
00077    fSubRun(RunConfigArray[1]),
00078    fStartTime(start),
00079    fEndTime(end),
00080    fSubrunLength(RunConfigArray[2]),
00081    fPhysicsRun(RunConfigArray[3]),
00082    fModifiedRun(RunConfigArray[4]),
00083    fTestRun(RunConfigArray[5]),
00084    fTriggersPlane(RunConfigArray[6]),
00085    fTriggersActivity(RunConfigArray[7]),
00086    fTriggersSpill(RunConfigArray[8]),
00087    fRopMask(RunConfigArray[9]),
00088    fTriggerMask(RunConfigArray[10]),
00089    fColdCrates(coldcrates),
00090    fColdMindersSpec(coldmindersspec),
00091    fColdMenusSpec(coldmenusspec),
00092    fColdMindersCal(coldminderscal),
00093    fColdMenusCal(coldmenuscal),
00094    fHotMenusSpec(hotmenusspec),
00095    fHotMenusCal(hotmenuscal),
00096    fTimeCountHotMenusSpec(timecounthotmenusspec),
00097    fTimeCountHotMenusCal(timecounthotmenuscal),
00098    fTimeCountColdMenusSpec(timecountcoldmenusspec),
00099    fTimeCountColdMenusCal(timecountcoldmenuscal),
00100    fTimeCountColdMindersSpec(timecountcoldmindersspec),
00101    fTimeCountColdMindersCal(timecountcoldminderscal),
00102    fLIRate(lirate),
00103    fHighAdcSpec(highadcspec),
00104    fHighAdcCal(highadccal),
00105    fNbCapidSpec(nbcapidspec),
00106    fNbCapidCal(nbcapidcal),
00107    fNbParitySpec(nbparityspec),
00108    fNbParityCal(nbparitycal),
00109    fNbMisCountSpec(nbmiscountspec),
00110    fNbMisCountCal(nbmiscountcal),
00111    fNbPriorityTruncSpec(nbprioritytruncspec),
00112    fNbPriorityTruncCal(nbprioritytrunccal),
00113    fNbSameMenuSpec(nbsamemenuspec),
00114    fNbSameMenuCal(nbsamemenucal),
00115    fNbSharedMinderSpec(nbsharedminderspec),
00116    fNbSharedMinderCal(nbsharedmindercal),
00117    fNbTransferMinderSpec(nbtransferminderspec),
00118    fNbTransferMinderCal(nbtransfermindercal),
00119    fAvgLow(avglow),
00120    fAvgHigh(avghigh),
00121    fAvgGate(avggate),
00122    fSnarlRateMin(snarlratemin),
00123    fSnarlRateMax(snarlratemax),
00124    fSnarlRateMedian(snarlratemedian),
00125    fSnarlRateMean(snarlratemean)
00126    {
00127    }
00128 
00129  virtual ~DbuNearRunQuality(){ };
00130 
00131  // State testing member functions
00132  Bool_t CanL2Cache() const { return kTRUE; }
00133  Bool_t Compare(const DbuNearRunQuality& that ) const {
00134    return ( fRun == that.fRun
00135             && fSubRun == that.fSubRun
00136             && fStartTime == that.fStartTime
00137             && fEndTime == that.fEndTime
00138             && fSubrunLength == that.fSubrunLength
00139             && fPhysicsRun == that.fPhysicsRun
00140             && fModifiedRun == that.fModifiedRun
00141             && fTestRun == that.fTestRun
00142             && fTriggersPlane == that.fTriggersPlane
00143             && fTriggersActivity == that.fTriggersActivity
00144             && fTriggersSpill == that.fTriggersSpill
00145             && fRopMask == that.fRopMask
00146             && fTriggerMask == that.fTriggerMask
00147             && fColdCrates == that.fColdCrates
00148             && fColdMindersSpec == that.fColdMindersSpec
00149             && fColdMenusSpec == that.fColdMenusSpec
00150             && fColdMindersCal == that.fColdMindersCal
00151             && fColdMenusCal == that.fColdMenusCal
00152             && fHotMenusSpec == that.fHotMenusSpec
00153             && fHotMenusCal == that.fHotMenusCal
00154             && fTimeCountHotMenusSpec == that.fTimeCountHotMenusSpec
00155             && fTimeCountHotMenusCal == that.fTimeCountHotMenusCal
00156             && fTimeCountColdMenusSpec == that.fTimeCountColdMenusSpec
00157             && fTimeCountColdMenusCal == that.fTimeCountColdMenusCal
00158             && fTimeCountColdMindersSpec == that.fTimeCountColdMindersSpec
00159             && fTimeCountColdMindersCal == that.fTimeCountColdMindersCal
00160             && fLIRate == that.fLIRate
00161             && fHighAdcSpec == that.fHighAdcSpec
00162             && fHighAdcCal == that.fHighAdcCal
00163             && fNbCapidSpec == that.fNbCapidSpec
00164             && fNbCapidCal == that.fNbCapidCal
00165             && fNbParitySpec == that.fNbParitySpec
00166             && fNbParityCal == that.fNbParityCal
00167             && fNbMisCountSpec == that.fNbMisCountSpec
00168             && fNbMisCountCal == that.fNbMisCountCal
00169             && fNbPriorityTruncSpec == that.fNbPriorityTruncSpec
00170             && fNbPriorityTruncCal == that.fNbPriorityTruncCal
00171             && fNbSameMenuSpec == that.fNbSameMenuSpec
00172             && fNbSameMenuCal == that.fNbSameMenuCal
00173             && fNbSharedMinderSpec == that.fNbSharedMinderSpec
00174             && fNbSharedMinderCal == that.fNbSharedMinderCal
00175             && fNbTransferMinderSpec == that.fNbTransferMinderSpec
00176             && fNbTransferMinderCal == that.fNbTransferMinderCal
00177             && fAvgLow == that.fAvgLow
00178             && fAvgHigh == that.fAvgHigh
00179             && fAvgGate == that.fAvgGate
00180             && fSnarlRateMin == that.fSnarlRateMin
00181             && fSnarlRateMax == that.fSnarlRateMax
00182             && fSnarlRateMedian == that.fSnarlRateMedian
00183             && fSnarlRateMean == that.fSnarlRateMean
00184             ); }
00185 
00186 
00187  // Access functions
00188  Int_t GetRun() const                       { return fRun; }
00189  Int_t GetSubRun() const                    { return fSubRun; }
00190  VldTimeStamp GetStartTime() const          { return fStartTime; }
00191  VldTimeStamp GetEndTime() const            { return fEndTime; }
00192  Int_t GetSubrunLength() const              { return fSubrunLength; }
00193  Int_t GetPhysicsRun() const                { return fPhysicsRun; }
00194  Int_t GetModifiedRun() const               { return fModifiedRun; }
00195  Int_t GetTestRun() const                   { return fTestRun; }
00196  Int_t GetTriggersPlane() const             { return fTriggersPlane; }
00197  Int_t GetTriggersActivity() const          { return fTriggersActivity; }
00198  Int_t GetTriggersSpill() const             { return fTriggersSpill; }
00199  Int_t GetRopMask() const                   { return fRopMask; }
00200  Int_t GetTriggerMask() const               { return fTriggerMask; }
00201  Int_t GetColdCrates() const                { return fColdCrates; }
00202  Int_t GetColdMindersSpec() const           { return fColdMindersSpec; }
00203  Int_t GetColdMenusSpec() const             { return fColdMenusSpec; }
00204  Int_t GetColdMindersCal() const            { return fColdMindersCal; }
00205  Int_t GetColdMenusCal() const              { return fColdMenusCal; }
00206  Int_t GetHotMenusSpec() const              { return fHotMenusSpec; }
00207  Int_t GetHotMenusCal() const               { return fHotMenusCal; }
00208  Int_t GetTimeCountHotMenusSpec() const     { return fTimeCountHotMenusSpec; }
00209  Int_t GetTimeCountHotMenusCal() const      { return fTimeCountHotMenusCal; }
00210  Int_t GetTimeCountColdMenusSpec() const    { return fTimeCountColdMenusSpec; }
00211  Int_t GetTimeCountColdMenusCal() const     { return fTimeCountColdMenusCal; }
00212  Int_t GetTimeCountColdMindersSpec() const  { return fTimeCountColdMindersSpec; }
00213  Int_t GetTimeCountColdMindersCal() const   { return fTimeCountColdMindersCal; }
00214  Float_t GetLIRate() const                  { return fLIRate; }
00215  Int_t GetHighAdcSpec() const               { return fHighAdcSpec; }
00216  Int_t GetHighAdcCal() const                { return fHighAdcCal; }
00217  Int_t GetNbCapidSpec() const               { return fNbCapidSpec; }
00218  Int_t GetNbCapidCal() const                { return fNbCapidCal; }
00219  Int_t GetNbParitySpec() const              { return fNbParitySpec; }
00220  Int_t GetNbParityCal() const               { return fNbParityCal; }
00221  Int_t GetNbMisCountSpec() const            { return fNbMisCountSpec; }
00222  Int_t GetNbMisCountCal() const             { return fNbMisCountCal; }
00223  Int_t GetNbPriorityTruncSpec() const       { return fNbPriorityTruncSpec; }
00224  Int_t GetNbPriorityTruncCal() const        { return fNbPriorityTruncCal; }
00225  Int_t GetNbSameMenuSpec() const            { return fNbSameMenuSpec; }
00226  Int_t GetNbSameMenuCal() const             { return fNbSameMenuCal; }
00227  Int_t GetNbSharedMinderSpec() const        { return fNbSharedMinderSpec; }
00228  Int_t GetNbSharedMinderCal() const         { return fNbSharedMinderCal; }
00229  Int_t GetNbTransferMinderSpec() const      { return fNbTransferMinderSpec; }
00230  Int_t GetNbTransferMinderCal() const       { return fNbTransferMinderCal; }
00231  Float_t GetAvgLow() const                  { return fAvgLow; }
00232  Float_t GetAvgHigh() const                 { return fAvgHigh; }
00233  Float_t GetAvgGate() const                 { return fAvgGate; }
00234  Int_t GetSnarlRateMin() const              { return fSnarlRateMin; }
00235  Int_t GetSnarlRateMax() const              { return fSnarlRateMax; }
00236  Float_t GetSnarlRateMedian() const         { return fSnarlRateMedian; }
00237  Float_t GetSnarlRateMean() const           { return fSnarlRateMean; }
00238 
00239  Bool_t GetGoodRun(Int_t itask) const       { return this->IsOK(itask); }
00240  Bool_t GoodRun(Int_t itask) const          { return this->IsOK(itask); }
00241  Bool_t IsOK(Int_t itask) const;
00242  
00243  Bool_t GoodRunType(Int_t itask) const;
00244  Bool_t GoodReadout(Int_t itask) const;
00245  Bool_t Short(Int_t itask) const;
00246  Bool_t LowRate(Int_t itask) const;
00247  Bool_t HighRate(Int_t itask) const;
00248  Bool_t LIRate(Int_t itask) const;
00249  Bool_t ColdReadout(Int_t itask) const;
00250  Bool_t HotReadout(Int_t itask) const;
00251  
00252  Bool_t BadReadoutErrors(Int_t itask) const;
00253  Bool_t BadCapidError(Int_t itask) const;
00254  Bool_t BadParityError(Int_t itask) const;
00255  Bool_t BadMisCountError(Int_t itask) const;
00256  Bool_t BadPriorityTruncateError(Int_t itask) const;
00257  Bool_t BadSameMenuError(Int_t itask) const;
00258  Bool_t BadSharedMinderError(Int_t itask) const;
00259  Bool_t BadTransferMinderError(Int_t itask) const;
00260  Bool_t HighADC(Int_t itask) const;
00261 
00262  Bool_t BadSpillWindow(Int_t itask) const; 
00263 
00264  Int_t GetAggregateNo() const        { return fRun; }
00265 
00266  UInt_t GetIndex() const             { return this->GetIndex(fRun,fSubRun); }
00267  UInt_t GetIndex(UInt_t) const       { return this->GetIndex(fRun,fSubRun); } 
00268  static UInt_t GetIndex(Int_t run, Int_t subrun);
00269  
00270  // I/O  member functions
00271  virtual void Fill(DbiResultSet& rs, const DbiValidityRec* vrec);
00272  virtual void Store(DbiOutRowStream& ors, const DbiValidityRec* vrec) const;
00273  
00274  virtual DbiTableRow* CreateTableRow() const { return new DbuNearRunQuality; }
00275 
00276  private:
00277 
00278  //Variables/Columns
00279  Int_t fRun;
00280  Int_t fSubRun;
00281  VldTimeStamp fStartTime;
00282  VldTimeStamp fEndTime;
00283  Int_t fSubrunLength;
00284  Int_t fPhysicsRun;
00285  Int_t fModifiedRun;
00286  Int_t fTestRun;
00287  Int_t fTriggersPlane;
00288  Int_t fTriggersActivity;
00289  Int_t fTriggersSpill;
00290  Int_t fRopMask;
00291  Int_t fTriggerMask;
00292  Int_t fColdCrates;
00293  Int_t fColdMindersSpec;
00294  Int_t fColdMenusSpec;
00295  Int_t fColdMindersCal;
00296  Int_t fColdMenusCal;
00297  Int_t fHotMenusSpec;
00298  Int_t fHotMenusCal;
00299  Int_t fTimeCountHotMenusSpec;
00300  Int_t fTimeCountHotMenusCal;
00301  Int_t fTimeCountColdMenusSpec;
00302  Int_t fTimeCountColdMenusCal;
00303  Int_t fTimeCountColdMindersSpec;
00304  Int_t fTimeCountColdMindersCal;
00305  Float_t fLIRate;
00306  Int_t fHighAdcSpec;
00307  Int_t fHighAdcCal;
00308  Int_t fNbCapidSpec;
00309  Int_t fNbCapidCal;
00310  Int_t fNbParitySpec;
00311  Int_t fNbParityCal;
00312  Int_t fNbMisCountSpec;
00313  Int_t fNbMisCountCal;
00314  Int_t fNbPriorityTruncSpec;
00315  Int_t fNbPriorityTruncCal;
00316  Int_t fNbSameMenuSpec;
00317  Int_t fNbSameMenuCal;
00318  Int_t fNbSharedMinderSpec;
00319  Int_t fNbSharedMinderCal;
00320  Int_t fNbTransferMinderSpec;
00321  Int_t fNbTransferMinderCal;
00322  Float_t fAvgLow;
00323  Float_t fAvgHigh;
00324  Float_t fAvgGate;
00325  Int_t fSnarlRateMin;
00326  Int_t fSnarlRateMax;
00327  Float_t fSnarlRateMedian;
00328  Float_t fSnarlRateMean;
00329  
00330 
00331  ClassDef(DbuNearRunQuality,0)
00332 
00333 };
00334    
00335    
00336 #endif  // DBUNEARRUNQUALITY_H

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