ATLAS Offline Software
IHIEventShapeFiller.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef __INTERFACE_HIEVENTSHAPEMODIFIER_H__
6 #define __INTERFACE_HIEVENTSHAPEMODIFIER_H__
7 
8 #include "AsgTools/IAsgTool.h"
11 #include <string>
14 
17 
18 #include <iostream>
19 #include <iomanip>
20 #include <memory>
21 
22 class CaloCellContainer;
23 
24 class IHIEventShapeFiller : virtual public asg::IAsgTool
25 {
27 public:
28  virtual ~IHIEventShapeFiller() {};
29 
30  virtual StatusCode initializeIndex() = 0;
31  virtual StatusCode initializeEventShapeContainer(std::unique_ptr<xAOD::HIEventShapeContainer>& evtShape) const = 0;
32 
33  virtual StatusCode fillCollectionFromTowers(std::unique_ptr<xAOD::HIEventShapeContainer>& evtShape, const SG::ReadHandleKey<xAOD::CaloClusterContainer>& m_tower_container_key, const SG::ReadHandleKey<INavigable4MomentumCollection>& m_navi_container_key, const EventContext& ctx) const = 0;
34 
35  virtual StatusCode fillCollectionFromCells(std::unique_ptr<xAOD::HIEventShapeContainer>& evtShape, const SG::ReadHandleKey<CaloCellContainer>& m_cell_container_key, const EventContext& ctx) const = 0;
36 
37  inline const std::string& getContainerName() const { return m_outputContainerName; };
38  inline void setContainerName(const std::string& cname) { m_outputContainerName = cname; };
39 
40 private:
41 
42  std::string m_outputContainerName;
43 
44 };
45 
46 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
IHIEventShapeFiller::m_outputContainerName
std::string m_outputContainerName
Definition: IHIEventShapeFiller.h:38
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
SG::ReadHandleKey< xAOD::CaloClusterContainer >
IHIEventShapeFiller::setContainerName
void setContainerName(const std::string &cname)
Definition: IHIEventShapeFiller.h:38
IHIEventShapeFiller::fillCollectionFromCells
virtual StatusCode fillCollectionFromCells(std::unique_ptr< xAOD::HIEventShapeContainer > &evtShape, const SG::ReadHandleKey< CaloCellContainer > &m_cell_container_key, const EventContext &ctx) const =0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
INavigable4MomentumCollection.h
HIEventShapeContainer.h
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
IHIEventShapeFiller::getContainerName
const std::string & getContainerName() const
Definition: IHIEventShapeFiller.h:37
IHIEventShapeFiller
Definition: IHIEventShapeFiller.h:25
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
IHIEventShapeFiller::initializeEventShapeContainer
virtual StatusCode initializeEventShapeContainer(std::unique_ptr< xAOD::HIEventShapeContainer > &evtShape) const =0
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
IHIEventShapeFiller::initializeIndex
virtual StatusCode initializeIndex()=0
IHIEventShapeFiller::~IHIEventShapeFiller
virtual ~IHIEventShapeFiller()
Definition: IHIEventShapeFiller.h:28
IHIEventShapeFiller::fillCollectionFromTowers
virtual StatusCode fillCollectionFromTowers(std::unique_ptr< xAOD::HIEventShapeContainer > &evtShape, const SG::ReadHandleKey< xAOD::CaloClusterContainer > &m_tower_container_key, const SG::ReadHandleKey< INavigable4MomentumCollection > &m_navi_container_key, const EventContext &ctx) const =0
CaloClusterContainer.h