ATLAS Offline Software
Loading...
Searching...
No Matches
LArFCalTowerBuilderTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCLUSTERREC_LARFCALTOWERBUILDERTOOL_H
6#define LARCLUSTERREC_LARFCALTOWERBUILDERTOOL_H
20
21#include "LArFCalTowerStore.h"
23
25
26
28
30class CaloTower;
32
33class LArFCAL_ID;
34
36{
37 public:
40
42 LArFCalTowerBuilderTool(const std::string& name, const std::string& type,
43 const IInterface* parent);
44
46
47 virtual StatusCode execute(const EventContext& ctx,
48 CaloTowerContainer* theContainer,
49 const CaloCellContainer* theCell=0,
50 const CaloTowerSeg::SubSeg* subseg = 0) const override;
51
52
61 virtual StatusCode execute (const EventContext& ctx,
62 CaloTowerContainer* theContainer) override;
63
64
65private:
66
67 double m_minEt;
68
69 virtual StatusCode initializeTool() override;
70
72
73 void addTower (const tower_iterator& t,
74 const ElementLink<CaloCellContainer>& cellsEL,
75 CaloTower* tower) const;
76 void iterateFull (CaloTowerContainer* towers,
77 const ElementLink<CaloCellContainer>& cellsEL) const;
79 const ElementLink<CaloCellContainer>& cellsEL,
80 const CaloTowerSeg::SubSeg* subseg) const;
81
82 void runTimeInit(const EventContext& ctx) const;
83
84
88 StatusCode rebuildLookup(const EventContext& ctx);
89
90
91 // FCal only
93
96
98 mutable std::once_flag m_onceFlag;
99
100};
101#endif
Container class for CaloCell.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
CaloCell_Base_ID::SUBCALO SUBCALO
Definition CaloCell_ID.h:50
This class provides the client interface for accessing the detector description information common to...
CaloTowerBuilderToolBase(const std::string &name, const std::string &type, const IInterface *parent)
AlgTool constructor.
Storable container class for CaloTower.
A rectangular window within the segmentation.
Data class for calorimeter cell towers.
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
LArFCalTowerBuilderTool & operator=(const LArFCalTowerBuilderTool &)=delete
const CaloCell_ID * m_cellIdHelper
virtual StatusCode execute(const EventContext &ctx, CaloTowerContainer *theContainer, const CaloCellContainer *theCell=0, const CaloTowerSeg::SubSeg *subseg=0) const override
Run tower building and add results to the tower container.
void iterateFull(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL) const
LArFCalTowerStore::tower_iterator tower_iterator
virtual StatusCode initializeTool() override
LArFCalTowerBuilderTool(const LArFCalTowerBuilderTool &)=delete
static const CaloCell_ID::SUBCALO m_caloIndex
void runTimeInit(const EventContext &ctx) const
StatusCode rebuildLookup(const EventContext &ctx)
Rebuild the cell lookup table.
void iterateSubSeg(CaloTowerContainer *towers, const ElementLink< CaloCellContainer > &cellsEL, const CaloTowerSeg::SubSeg *subseg) const
void addTower(const tower_iterator &t, const ElementLink< CaloCellContainer > &cellsEL, CaloTower *tower) const
Intermediate store for cell/tower maps.
tower_table_t::const_iterator tower_iterator