CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
Coverage.h
Go to the documentation of this file.
1// $Header: /bes/bes/BossCvs/Calibration/calibUtil/src/dbIntegrity/Coverage.h,v 1.1.1.1 2005/10/17 06:12:26 maqm Exp $
2#ifndef CALIBUTIL_COVERAGE_H
3#define CALIBUTIL_COVERAGE_H
4/**
5 @file Coverage.h
6*/
7#include <vector>
8#include <string>
10
11namespace rdbModel {
12 class Rdb;
13 class Connection;
14}
15namespace calibUtil {
16 class Metadata;
17}
18
19/**
20 @class Coverage
21
22 Check whether calibrations for a particular calibration type (or each in
23 a predefined collection) exist covering full time interval, and whether
24 they overlap.
25*/
26class Coverage {
27public:
29 const std::string& instr, const std::string& flavor,
30 const std::string& level, const facilities::Timestamp& ts);
31
32 /// The @nickname argument may be a single legal calib_type or may be
33 /// one of the special wildcard values "CAL" "TKR" "*", in which case it
34 /// is expanded to a suitable list of calib types (if we have a schema)
35 bool expandTypes(std::string& nickname, std::vector<std::string>& types);
36
38
39 // raison d'etre of this class. Examine all db rows of type @calibType
40 // and also matching flavor, instrument, level, etc., to see if there
41 // is precisely one valid an any one time (with some tolerance for
42 // small overlap)
43 unsigned checkType(std::string calibtype);
44 void setOverlap(unsigned seconds) {m_overlap = seconds;}
45private:
47 rdbModel::Rdb* m_rdb;
48 std::string m_instr;
49 std::string m_flavor;
50 std::string m_level;
51 std::string m_calib;
52
54 std::string m_table;
55 unsigned m_overlap;
56 std::vector<std::string> m_selects;
57 std::vector<std::string> m_orderBy;
58
59};
60#endif
void setOverlap(unsigned seconds)
Definition: Coverage.h:44
unsigned checkType(std::string calibtype)
Definition: Coverage.cxx:88
~Coverage()
Definition: Coverage.h:37
bool expandTypes(std::string &nickname, std::vector< std::string > &types)
Definition: Coverage.cxx:67
Module implements methods for clients to get generic services.