27 MyObject(
int d ) : m_data( d ) { c_instances++; }
31 static void dump() {
cout <<
"MyObject (C/D): " << c_instances <<
"/" << d_instances <<
endl; }
38 info() <<
":HiveTestAlgorithm::initialize " <<
endmsg;
41 for (
auto k : m_inputs ) {
42 debug() <<
"adding input key " << k <<
endmsg;
44 declareProperty(
"dummy_in_" +
std::to_string( i ), *( m_inputHandles.back() ) );
49 for (
auto k : m_outputs ) {
50 debug() <<
"adding output key " << k <<
endmsg;
52 declareProperty(
"dummy_out_" +
std::to_string( i ), *( m_outputHandles.back() ) );
63 info() <<
":HiveTestAlgorithm::getting inputs... " <<
evt <<
endmsg;
65 for (
auto& handle : m_inputHandles ) {
66 auto obj = dynamic_cast<MyObject*>( handle->get() );
68 fatal() <<
"Unable to dcast inputHandles object" <<
endmsg;
71 info() <<
"Got data with value " << obj->getData() <<
endmsg;
74 info() <<
":HiveTestAlgorithm::registering outputs... " <<
evt <<
endmsg;
76 for (
auto& outputHandle : m_outputHandles ) { outputHandle->put(
new MyObject( 1000 +
evt ) ); }
82 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.