ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTowerAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOREC_CALOTOWERALGORITHM_H
6#define CALOREC_CALOTOWERALGORITHM_H
21
22#include "GaudiKernel/ToolHandle.h"
23
26#include "CaloEvent/CaloTowerContainer.h"
28
29#include <string>
30#include <vector>
31#include <map>
32
33class IChronoStatSvc;
35
37 public:
38
40 typedef std::vector<tool_type*> tool_store;
41 typedef tool_store::const_iterator tool_iterator;
42
44 CaloTowerAlgorithm(const std::string& name, ISvcLocator* pService);
45
47
49 virtual StatusCode initialize() override;
50 virtual StatusCode execute (const EventContext& ctx) const override;
51 virtual StatusCode finalize() override;
52
53 protected:
54
56 // Properties //
58
59 // ChronoStatSvc
61 Gaudi::Property<bool> m_doChronoStat{this, "EnableChronoStat", true};
62
63 // tower grid specs
64 Gaudi::Property<unsigned int> m_nEtaTowers{this, "NumberOfEtaTowers", 50};
65 Gaudi::Property<unsigned int> m_nPhiTowers{this, "NumberOfPhiTowers", 64};
66 Gaudi::Property<double> m_minEta{this, "EtaMin", -2.5};
67 Gaudi::Property<double> m_maxEta{this, "EtaMax", 2.5};
68
69 // link output container
70 Gaudi::Property<bool> m_genericLink{this, "GenericLinked", true};
71
72 // tool collection
73 std::vector<std::string> m_toolNames;
74 ToolHandleArray<ICaloTowerBuilderToolBase> m_ptools{this, "TowerBuilderTools", {}};
75 // output tower container name
77
79 // Stores and Services //
81
82 // list of tools
84
85};
86#endif
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteHandleKey< CaloTowerContainer > m_towerContainerKey
tool_store::const_iterator tool_iterator
Gaudi::Property< unsigned int > m_nEtaTowers
ServiceHandle< IChronoStatSvc > m_chrono
virtual StatusCode finalize() override
std::vector< tool_type * > tool_store
std::vector< std::string > m_toolNames
Gaudi::Property< bool > m_doChronoStat
Gaudi::Property< unsigned int > m_nPhiTowers
virtual ~CaloTowerAlgorithm()
Gaudi::Property< double > m_minEta
virtual StatusCode initialize() override
inherited from Algorithm
CaloTowerBuilderToolBase tool_type
ToolHandleArray< ICaloTowerBuilderToolBase > m_ptools
virtual StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_genericLink
Gaudi::Property< double > m_maxEta
CaloTowerAlgorithm(const std::string &name, ISvcLocator *pService)
Algorithm constructor.
Property holding a SG store/key/clid from which a WriteHandle is made.