ATLAS Offline Software
IgFEXaltMetAlgo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef IgFEXaltMetAlgo_H
7 #define IgFEXaltMetAlgo_H
8 
9 #include "GaudiKernel/IAlgTool.h"
11 
12 namespace LVL1 {
13 
14 /*
15 Interface definition for eFEXegAlgo
16 */
17 
18  static const InterfaceID IID_IgFEXaltMetAlgo("LVL1::IgFEXaltMetAlgo", 1, 0);
19  typedef std::array<std::array<int, 12>, 32> gTowersCentral;
20  typedef std::array<std::array<int, 8>, 32> gTowersForward;
21 
22  class IgFEXaltMetAlgo : virtual public IAlgTool {
23  public:
24  static const InterfaceID& interfaceID( ) ;
25 
26  virtual void setAlgoConstant(std::vector<int>&& A_thr,
27  std::vector<int>&& B_thr,
28  const int rhoPlusThr) = 0;
29 
30  virtual void altMetAlgo(const gTowersCentral &Atwr, const gTowersCentral &Btwr,
31  std::array<uint32_t, 4> & outTOB) const = 0;
32 
33 
34  };
35 
36 
37  inline const InterfaceID& LVL1::IgFEXaltMetAlgo::interfaceID()
38  {
39  return IID_IgFEXaltMetAlgo;
40  }
41 
42 } // end of namespace
43 
44 #endif
LVL1::IgFEXaltMetAlgo::altMetAlgo
virtual void altMetAlgo(const gTowersCentral &Atwr, const gTowersCentral &Btwr, std::array< uint32_t, 4 > &outTOB) const =0
LVL1::IgFEXaltMetAlgo
Definition: IgFEXaltMetAlgo.h:22
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
FEXAlgoSpaceDefs.h
LVL1::gTowersCentral
std::array< std::array< int, 12 >, 32 > gTowersCentral
Definition: IgFEXaltMetAlgo.h:19
LVL1::gTowersForward
std::array< std::array< int, 8 >, 32 > gTowersForward
Definition: IgFEXaltMetAlgo.h:20
LVL1::IgFEXaltMetAlgo::interfaceID
static const InterfaceID & interfaceID()
Definition: IgFEXaltMetAlgo.h:37
LVL1::IgFEXaltMetAlgo::setAlgoConstant
virtual void setAlgoConstant(std::vector< int > &&A_thr, std::vector< int > &&B_thr, const int rhoPlusThr)=0