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;
31 for (
auto k : m_inputs ) {
32 debug() <<
"adding input key " << k <<
endmsg;
34 declareProperty(
"dummy_in_" +
std::to_string( i ), *( m_inputHandles.back() ) );
39 for (
auto k : m_outputs ) {
40 debug() <<
"adding output key " << k <<
endmsg;
42 declareProperty(
"dummy_out_" +
std::to_string( i ), *( m_outputHandles.back() ) );
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_API const EventContext & currentContext()
StatusCode initialize() override
virtual const std::vector< std::string > get_inputs()
constexpr static const auto FAILURE
StatusCode execute() override
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.