17 MyObject(
int d ) : m_data( d ) { c_instances++; }
21 static void dump() {
cout <<
"MyObject (C/D): " << c_instances <<
"/" << d_instances <<
endl; }
28 info() <<
":HiveTestAlgorithm::initialize " <<
endmsg;
32 debug() <<
"adding input key " << k <<
endmsg;
39 for (
auto k : m_outputs ) {
40 debug() <<
"adding output key " << k <<
endmsg;
53 info() <<
":HiveTestAlgorithm::getting inputs... " << evt <<
endmsg;
55 for (
auto& handle : m_inputHandles ) {
56 auto obj =
dynamic_cast<MyObject*
>( handle->get() );
58 fatal() <<
"Unable to dcast inputHandles object" <<
endmsg;
61 info() <<
"Got data with value " << obj->getData() <<
endmsg;
64 info() <<
":HiveTestAlgorithm::registering outputs... " << evt <<
endmsg;
66 for (
auto& outputHandle : m_outputHandles ) { outputHandle->put(
new MyObject( 1000 + evt ) ); }
72 info() <<
name() <<
":HiveTestAlgorithm::finalize - total events: " << m_total <<
endmsg;
static atomic< int > c_instances
MyObject(const MyObject &o)
virtual const std::vector< std::string > get_outputs()
constexpr static const auto SUCCESS
static atomic< int > d_instances
#define DECLARE_COMPONENT(type)
This class is used for returning status codes from appropriate routines.
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
GAUDI_API const EventContext & currentContext()
StatusCode initialize() override
std::vector< InputHandle_t< In > > m_inputs
virtual const std::vector< std::string > get_inputs()
constexpr static const auto FAILURE
StatusCode execute() override
standard execution method
StatusCode finalize() override
A DataObject is the base class of any identifiable object on any data store.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.