13#include "CoolKernel/IObject.h"
14#include "GaudiKernel/SystemOfUnits.h"
17using Gaudi::Units::second;
18using Gaudi::Units::nanosecond;
29 return StatusCode::SUCCESS;
47 auto lbdur = std::make_unique<LBDurationCondData> (
m_default);
56 if ((**lblbFolder)[
"StartTime"].isNull()) {
58 return StatusCode::FAILURE;
61 if ((**lblbFolder)[
"EndTime"].isNull()) {
63 return StatusCode::FAILURE;
67 cool::UInt63 startTime = (**lblbFolder)[
"StartTime"].data<cool::UInt63>();
68 cool::UInt63 endTime = (**lblbFolder)[
"EndTime"].data<cool::UInt63>();
71 double duration = (endTime-startTime) * (nanosecond / second);
73 auto lbdur = std::make_unique<LBDurationCondData> (duration);
78 auto lbdur = std::make_unique<LBDurationCondData> (
m_default);
82 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Produce LBDurationCondData from /TRIGGER/LUMI/LBLB.
static EventIDRange infiniteRunLB()
Produces an EventIDRange that is infinite in RunLumi and invalid in Time.
SG::ReadCondHandleKey< AthenaAttributeList > m_lblbFolderInputKey
Input COOL folder.
virtual StatusCode initialize() override
Gaudi initialize method.
SG::WriteCondHandleKey< LBDurationCondData > m_lbDurationOutputKey
Output conditions object.
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm execute method.
void addDependency(const EventIDRange &range)
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED