/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/calibUtil/calibUtil-00-00-43/src/dbIntegrity/Coverage.h

Go to the documentation of this file.
00001 // $Header: /bes/bes/BossCvs/Calibration/calibUtil/src/dbIntegrity/Coverage.h,v 1.1.1.1 2005/10/17 06:12:26 maqm Exp $
00002 #ifndef CALIBUTIL_COVERAGE_H
00003 #define CALIBUTIL_COVERAGE_H
00004 
00007 #include <vector>
00008 #include <string>
00009 #include "facilities/Timestamp.h"
00010 
00011 namespace rdbModel {
00012   class Rdb;
00013   class Connection;
00014 }
00015 namespace calibUtil {
00016   class Metadata;
00017 }
00018 
00026 class Coverage {
00027 public:
00028   Coverage(calibUtil::Metadata* meta,
00029            const std::string& instr, const std::string& flavor, 
00030            const std::string& level, const facilities::Timestamp& ts);
00031 
00035   bool expandTypes(std::string& nickname, std::vector<std::string>& types);
00036 
00037   ~Coverage() {};
00038   
00039   // raison d'etre of this class.  Examine all db rows of type @calibType
00040   // and also matching flavor, instrument, level, etc., to see if there
00041   // is precisely one valid an any one time (with some tolerance for
00042   // small overlap)
00043   unsigned checkType(std::string calibtype);
00044   void setOverlap(unsigned seconds) {m_overlap = seconds;}
00045 private:
00046   rdbModel::Connection* m_conn;
00047   rdbModel::Rdb* m_rdb;
00048   std::string m_instr;
00049   std::string m_flavor;
00050   std::string m_level;
00051   std::string m_calib;
00052 
00053   facilities::Timestamp m_ts;
00054   std::string    m_table;
00055   unsigned m_overlap;
00056   std::vector<std::string> m_selects;
00057   std::vector<std::string> m_orderBy;
00058 
00059 };
00060 #endif

Generated on Tue Nov 29 22:57:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7