CMS 3D CMS Logo

Time.h
Go to the documentation of this file.
1 #ifndef CondCore_CondDB_Time_h
2 #define CondCore_CondDB_Time_h
3 //
7 //
8 #include <string>
9 #include <limits>
10 #include <type_traits>
11 
12 // imported from CondFormats/Common
13 namespace cond {
14 
15  namespace time {
16 
17  // Time_t
19 
21 
22  const Time_t MIN_VAL(0);
23 
24  const unsigned int SECONDS_PER_LUMI(23);
25 
26  static constexpr const char* const MAX_TIMESTAMP = "9999-12-31 23:59:59.000";
27 
29 
31 
32  // TimeType
33  static constexpr TimeType INVALID=cond::invalid;
36  static constexpr TimeType LUMIID=cond::lumiid;
37  static constexpr TimeType HASH=cond::hash;
38  static constexpr TimeType USERID=cond::userid;
39 
40  std::string timeTypeName(TimeType type);
41 
42  TimeType timeTypeFromName( const std::string& name );
43 
44  // constant defininig the (maximum) size of the iov groups
45  static constexpr unsigned int SINCE_RUN_GROUP_SIZE = 1000;
46  // 36000 << 32 ( corresponding to 10h )
47  static constexpr unsigned long SINCE_TIME_GROUP_SIZE = 154618822656000;
50 
51  Time_t sinceGroupSize( TimeType tp );
52 
53  Time_t tillTimeFromNextSince( Time_t nextSince, TimeType timeType );
54 
55  // conversion from framework types
56  edm::IOVSyncValue toIOVSyncValue(cond::Time_t time, TimeType timetype, bool startOrStop);
57 
58  Time_t fromIOVSyncValue(edm::IOVSyncValue const & time, TimeType timetype);
59 
60  // min max sync value....
62 
64 
65  }
66 
67 }
68 #endif
69 
type
Definition: HCALResponse.h:21
const Time_t MIN_VAL(0)
static constexpr const char *const MAX_TIMESTAMP
Definition: Time.h:26
static constexpr TimeType USERID
Definition: Time.h:38
static constexpr unsigned long SINCE_TIME_GROUP_SIZE
Definition: Time.h:47
static constexpr TimeType INVALID
Definition: Time.h:33
static constexpr TimeType RUNNUMBER
Definition: Time.h:34
TimeType
Definition: Time.h:21
Time_t fromIOVSyncValue(edm::IOVSyncValue const &time, TimeType timetype)
Definition: Time.cc:81
unsigned long long Time_t
Definition: Time.h:16
TimeType timeTypeFromName(const std::string &name)
Definition: Time.cc:24
edm::IOVSyncValue toIOVSyncValue(cond::Time_t time, TimeType timetype, bool startOrStop)
Definition: Time.cc:59
static constexpr TimeType TIMESTAMP
Definition: Time.h:35
static constexpr unsigned int SINCE_LUMI_GROUP_SIZE
Definition: Time.h:48
const unsigned int SECONDS_PER_LUMI(23)
static constexpr unsigned int SINCE_HASH_GROUP_SIZE
Definition: Time.h:49
static constexpr TimeType HASH
Definition: Time.h:37
Time_t tillTimeFromNextSince(Time_t nextSince, TimeType timeType)
Definition: Time.cc:33
cond::Time_t Time_t
Definition: Time.h:18
std::pair< unsigned int, unsigned int > UnpackedTime
Definition: Time.h:17
Definition: plugin.cc:24
edm::IOVSyncValue limitedIOVSyncValue(Time_t time, TimeType timetype)
Definition: Time.cc:98
static constexpr unsigned int SINCE_RUN_GROUP_SIZE
Definition: Time.h:45
std::string timeTypeName(TimeType type)
Definition: Time.cc:19
const Time_t MAX_VAL(std::numeric_limits< Time_t >::max())
#define constexpr
cond::TimeType TimeType
Definition: Time.h:30
static constexpr TimeType LUMIID
Definition: Time.h:36
cond::UnpackedTime UnpackedTime
Definition: Time.h:28
Time_t sinceGroupSize(TimeType tp)
Definition: Time.cc:51