ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXFPGA.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// gFEXFPGA - Defines FPGA tools
6// -------------------
7// begin : 01 04 2021
8// email : cecilia.tosciri@cern.ch
9//***************************************************************************
10
11#ifndef gFEXFPGA_H
12#define gFEXFPGA_H
13
19#include <vector>
20
21namespace LVL1
22{
23
24 class gFEXFPGA : public AthAlgTool, virtual public IgFEXFPGA
25 {
26
27 public:
29 gFEXFPGA(const std::string &type, const std::string &name, const IInterface *parent);
30
32 virtual StatusCode initialize() override;
34 virtual ~gFEXFPGA();
35
36 // virtual void SetTowersAndCells_SG(gTowersCentral) override ;
37 // virtual void SetTowersAndCells_SG(gTowersForward) override ;
38
39 // virtual void GetEnergyMatrix(gTowersCentral &) const override ;
40 // virtual void GetEnergyMatrix(gTowersForward &) const override ;
41
42 virtual void FillgTowerEDMCentral(const EventContext& , SG::WriteHandle<xAOD::gFexTowerContainer> &, int, const gTowersCentral &, gTowersType &, gTowersType &, gTowersType &) const override;
43 virtual void FillgTowerEDMForward(const EventContext& , SG::WriteHandle<xAOD::gFexTowerContainer> &, int, const gTowersForward &, const gTowersForward &, gTowersType &, gTowersType &, gTowersType &) const override;
44
46 private:
47 SG::ReadCondHandleKey<gFEXDBCondData> m_DBToolKey{this, "DBToolKey", "gFEXDBParams", "Database tool key"};
48
49 void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const;
50
51 void calLookup(int *tower, const int offset, const int noiseCut, const int slope) const;
52
53 void calExpand(gTowersType &offsets, gTowersType &noiseCuts, gTowersType &slopes, const int offset, const std::array<int, 12>& columnNoiseCuts, const std::array<int, 12>& columnSlopes) const;
54
55 SG::ReadHandleKey<LVL1::gTowerContainer> m_gFEXFPGA_gTowerContainerKey{this, "MyGTowers", "gTowerContainer", "Input container for gTowers"};
56 SG::ReadHandleKey<LVL1::gTowerContainer> m_gFEXFPGA_gTower50ContainerKey{this, "MyGTowers50", "gTower50Container", "Input container for gTowers"};
57 };
58
59} // end of namespace
60
61#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
SG::ReadCondHandleKey< gFEXDBCondData > m_DBToolKey
Internal data.
Definition gFEXFPGA.h:47
virtual void FillgTowerEDMForward(const EventContext &, SG::WriteHandle< xAOD::gFexTowerContainer > &, int, const gTowersForward &, const gTowersForward &, gTowersType &, gTowersType &, gTowersType &) const override
Definition gFEXFPGA.cxx:145
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTowerContainerKey
Definition gFEXFPGA.h:55
void calLookup(int *tower, const int offset, const int noiseCut, const int slope) const
Definition gFEXFPGA.cxx:279
virtual StatusCode initialize() override
standard Athena-Algorithm method
Definition gFEXFPGA.cxx:34
virtual ~gFEXFPGA()
Destructor.
Definition gFEXFPGA.cxx:28
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTower50ContainerKey
Definition gFEXFPGA.h:56
void calExpand(gTowersType &offsets, gTowersType &noiseCuts, gTowersType &slopes, const int offset, const std::array< int, 12 > &columnNoiseCuts, const std::array< int, 12 > &columnSlopes) const
Definition gFEXFPGA.cxx:309
virtual void FillgTowerEDMCentral(const EventContext &, SG::WriteHandle< xAOD::gFexTowerContainer > &, int, const gTowersCentral &, gTowersType &, gTowersType &, gTowersType &) const override
Definition gFEXFPGA.cxx:44
gFEXFPGA(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition gFEXFPGA.cxx:22
void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const
Definition gFEXFPGA.cxx:265
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
std::array< std::array< int, 8 >, 32 > gTowersForward
std::array< std::array< int, 12 >, 32 > gTowersCentral
std::array< std::array< int, 12 >, 32 > gTowersType
Definition IgFEXFPGA.h:25