30 float orbitPeriod = LHCOrbitClock::period::num;
31 orbitPeriod /= LHCOrbitClock::period::den;
32 BOOST_CHECK(orbitPeriod > 0.000085 && orbitPeriod < 0.000091);
38 float bunchPeriod = LHCBunchClock::period::num;
39 bunchPeriod /= LHCBunchClock::period::den;
40 BOOST_CHECK(bunchPeriod > 0.0000000249 && bunchPeriod < 0.0000000251);
44 BOOST_CHECK(fourOrbits == std::chrono::nanoseconds(4 * lhc_clock_parameter::gOrbitTimeNanoSec));
55 uint64_t bunches = 1512;
56 uint64_t orbits = 40404040;
57 uint64_t ts64 = String2<uint16_t>(
"AC") | bunches << 16 | orbits << 32;
58 TimeStamp timestamp(
"AC", orbits, bunches);
70 BOOST_CHECK(timeInLHCOrbitClock <= timeInLHCBunchClock);
74 auto timeInSeconds = std::chrono::duration_cast<std::chrono::seconds>(timestamp.get<
LHCOrbitClock>());
79 auto timeInHours = timestamp.get<std::chrono::hours>();
83 uint64_t tenSeconds = 10000000;
84 timestamp = String2<uint16_t>(
"US") | tenSeconds << 32;
89 uint64_t expectedOrbits = tenSeconds * 1000 / (lhc_clock_parameter::gNumberOfBunches * lhc_clock_parameter::gBunchSpacingNanoSec);
90 BOOST_CHECK(timeInOrbitPrecision.count() == expectedOrbits);
93 BOOST_CHECK(timeInOrbitPrecision <= timeInBunchPrecision);