ATLAS Offline Software
Loading...
Searching...
No Matches
gFEXFPGA.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// 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
20#include <vector>
21
22namespace LVL1
23{
24
25 class gFEXFPGA : public AthAlgTool, virtual public IgFEXFPGA
26 {
27
28 public:
30 gFEXFPGA(const std::string &type, const std::string &name, const IInterface *parent);
31
33 virtual StatusCode initialize() override;
35 virtual ~gFEXFPGA();
36
37 virtual StatusCode init(int id) override;
38 virtual void reset() override;
39 virtual int getID() const override { return m_fpgaId; }
40
41 // virtual void SetTowersAndCells_SG(gTowersCentral) override ;
42 // virtual void SetTowersAndCells_SG(gTowersForward) override ;
43
44 // virtual void GetEnergyMatrix(gTowersCentral &) const override ;
45 // virtual void GetEnergyMatrix(gTowersForward &) const override ;
46
49
51 private:
52 SG::ReadCondHandleKey<gFEXDBCondData> m_DBToolKey{this, "DBToolKey", "gFEXDBParams", "Database tool key"};
53
54 int m_fpgaId = -1;
55
59
63
67
68 // gTowersCentral m_gTowersIDs_central;
69 // gTowersForward m_gTowersIDs_forward;
70
71 void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const;
72
73 void calLookup(int *tower, const int offset, const int noiseCut, const int slope) const;
74
75 void calExpand(gTowersType &offsets, gTowersType &noiseCuts, gTowersType &slopes, const int offset, const std::array<int, 12>& columnNoiseCuts, const std::array<int, 12>& columnSlopes) const;
76
77 SG::ReadHandleKey<LVL1::gTowerContainer> m_gFEXFPGA_gTowerContainerKey{this, "MyGTowers", "gTowerContainer", "Input container for gTowers"};
78 SG::ReadHandleKey<LVL1::gTowerContainer> m_gFEXFPGA_gTower50ContainerKey{this, "MyGTowers50", "gTower50Container", "Input container for gTowers"};
79 };
80
81} // end of namespace
82
83#endif
macros to associate a CLID to a type
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
virtual void FillgTowerEDMForward(SG::WriteHandle< xAOD::gFexTowerContainer > &, gTowersForward &, gTowersForward &, gTowersType &, gTowersType &, gTowersType &) override
Definition gFEXFPGA.cxx:151
SG::ReadCondHandleKey< gFEXDBCondData > m_DBToolKey
Internal data.
Definition gFEXFPGA.h:52
gTowersType m_slopesDefaultB
Definition gFEXFPGA.h:62
gTowersType m_noiseCutsDefaultC
Definition gFEXFPGA.h:65
gTowersType m_offsetsDefaultB
Definition gFEXFPGA.h:60
SG::ReadHandleKey< LVL1::gTowerContainer > m_gFEXFPGA_gTowerContainerKey
Definition gFEXFPGA.h:77
void calLookup(int *tower, const int offset, const int noiseCut, const int slope) const
Definition gFEXFPGA.cxx:280
gTowersType m_noiseCutsDefaultA
Definition gFEXFPGA.h:57
virtual void FillgTowerEDMCentral(SG::WriteHandle< xAOD::gFexTowerContainer > &, gTowersCentral &, gTowersType &, gTowersType &, gTowersType &) override
Definition gFEXFPGA.cxx:57
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:78
virtual void reset() override
Definition gFEXFPGA.cxx:51
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:310
gTowersType m_slopesDefaultC
Definition gFEXFPGA.h:66
gTowersType m_offsetsDefaultC
Definition gFEXFPGA.h:64
gTowersType m_slopesDefaultA
Definition gFEXFPGA.h:58
virtual int getID() const override
Definition gFEXFPGA.h:39
virtual StatusCode init(int id) override
Definition gFEXFPGA.cxx:44
gFEXFPGA(const std::string &type, const std::string &name, const IInterface *parent)
Constructors.
Definition gFEXFPGA.cxx:22
gTowersType m_offsetsDefaultA
Definition gFEXFPGA.h:56
void gtCalib(gTowersType &twrs, const gTowersType &offsets, const gTowersType &noiseCuts, const gTowersType &slopes) const
Definition gFEXFPGA.cxx:266
gTowersType m_noiseCutsDefaultB
Definition gFEXFPGA.h:61
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