ATLAS Offline Software
Loading...
Searching...
No Matches
HiveAlgL1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "HiveAlgL1.h"
6#include "GaudiKernel/ServiceHandle.h"
7#include <thread>
8#include <chrono>
9#include <memory>
10
11HiveAlgL1::HiveAlgL1( const std::string& name,
12 ISvcLocator* pSvcLocator ) :
13 ::HiveAlgBase( name, pSvcLocator )
14{}
15
16HiveAlgL1::~HiveAlgL1() = default;
17
19 ATH_MSG_DEBUG("initialize " << name());
20
21 ATH_CHECK( m_rdh1.initialize() );
22 ATH_CHECK( m_wrh1.initialize() );
23
25}
26
27StatusCode HiveAlgL1::execute(const EventContext& ctx) const {
28
29 ATH_MSG_DEBUG("execute " << name());
30
31 sleep();
32
34 if (!rdh1.isValid()) {
35 ATH_MSG_ERROR ("Could not retrieve HiveDataObj with key " << rdh1.key());
36 return StatusCode::FAILURE;
37 }
38
39 ATH_MSG_INFO(" read: " << rdh1.key() << " = " << rdh1->val() );
40
42 ATH_CHECK(wrh1.record(std::make_unique< HiveDataObj >(rdh1->val()+1)));
43
44 ATH_MSG_INFO(" write: " << wrh1.key() << " = " << wrh1->val() );
45
46 return StatusCode::SUCCESS;
47
48}
49
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_DEBUG(x)
unsigned int sleep() const
HiveAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &ctx) const override
Definition HiveAlgL1.cxx:27
SG::WriteHandleKey< HiveDataObj > m_wrh1
Definition HiveAlgL1.h:32
virtual StatusCode initialize() override
Definition HiveAlgL1.cxx:18
SG::ReadHandleKey< HiveDataObj > m_rdh1
Definition HiveAlgL1.h:31
HiveAlgL1(const std::string &name, ISvcLocator *pSvcLocator)
Definition HiveAlgL1.cxx:11
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.