19#include "GaudiKernel/IChronoStatSvc.h"
20#include "CLHEP/Units/SystemOfUnits.h"
23using CLHEP::microsecond;
33 ISvcLocator* pSvcLocator)
40 "Will the new container own its cells? Default is no.");
42 "List of tools to run.");
44 "Output container name.");
59 ATH_MSG_DEBUG(
"Successfully retrieved CaloConstCellMakerTools: "
70 return StatusCode::SUCCESS;
90 if (tool.typeAndName() ==
"CaloCellContainerCheckerTool/CaloCellContainerCheckerTool")
96 std::string chronoName = this->name() +
"_" + tool.name();
102 sc = tool->process(theContainer.
ptr(), ctx);
106 <<
m_chrono->chronoDelta(chronoName, IChronoStatSvc::USER) * (microsecond / second)
109 if (sc.isFailure()) {
115 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Exception-safe IChronoSvc caller.
Helpers for checking error return status codes and reporting errors.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
An algorithm that can be simultaneously executed in multiple threads.
Exception-safe IChronoSvc caller.
CaloConstCellMaker(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
int m_ownPolicy
Property: Will the new CellContainer will own its cells (default no)?
ServiceHandle< IChronoStatSvc > m_chrono
For timekeeping.
ToolHandleArray< ICaloConstCellMakerTool > m_caloCellMakerTools
Property: List of tools to run.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
virtual StatusCode execute(const EventContext &ctx) const override
Standard Gaudi execute method.
SG::WriteHandleKey< CaloConstCellContainer > m_caloCellsOutputKey
Property: Output container key.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
pointer_type ptr()
Dereference the pointer.
@ OWN_ELEMENTS
this data object owns its elements
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts