ATLAS Offline Software
Loading...
Searching...
No Matches
HiveAlgC.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#include "HiveAlgC.h"
6
7HiveAlgC::HiveAlgC( const std::string& name,
8 ISvcLocator* pSvcLocator ) :
9 ::HiveAlgBase( name, pSvcLocator )
10{
11}
12
13/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
14HiveAlgC::~HiveAlgC() = default;
15
16/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
18 ATH_MSG_DEBUG("initialize " << name());
19
20 ATH_CHECK( m_rdh1.initialize() );
21 ATH_CHECK( m_wrh1.initialize() );
22 ATH_CHECK( m_wrh2.initialize() );
23
24 // initialize base class
26}
27
28/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
29StatusCode HiveAlgC::execute() {
30
31 ATH_MSG_DEBUG("execute " << name());
32
33 sleep();
34
36 if (!rdh1.isValid()) {
37 ATH_MSG_ERROR ("Could not retrieve HiveDataObj with key " << rdh1.key());
38 return StatusCode::FAILURE;
39 }
40
41 ATH_MSG_INFO(" read: " << rdh1.key() << " = " << rdh1->val() );
42
44 ATH_CHECK(wrh1.record(std::make_unique< HiveDataObj >(30000 + rdh1->val() )));
45
47 ATH_CHECK(wrh2.record(std::make_unique< HiveDataObj >(30001)));
48
49 ATH_MSG_INFO(" write: " << wrh1.key() << " = " << wrh1->val() );
50 ATH_MSG_INFO(" write: " << wrh2.key() << " = " << wrh2->val() );
51
52 return StatusCode::SUCCESS;
53
54}
55
#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)
Simple Algorithm that reads a DataHandle created by HiveAlgA, and writes two more.
unsigned int sleep()
HiveAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
HiveAlgC(const std::string &name, ISvcLocator *pSvcLocator)
Definition HiveAlgC.cxx:7
SG::WriteHandleKey< HiveDataObj > m_wrh1
Definition HiveAlgC.h:40
virtual StatusCode initialize() override
Definition HiveAlgC.cxx:17
virtual StatusCode execute() override
Definition HiveAlgC.cxx:29
SG::ReadHandleKey< HiveDataObj > m_rdh1
Definition HiveAlgC.h:38
SG::WriteHandleKey< HiveDataObj > m_wrh2
Definition HiveAlgC.h:41
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.