ATLAS Offline Software
IgFEXJwoJAlgo.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 IgFEXJwoJAlgo_H
7 #define IgFEXJwoJAlgo_H
8 
9 #include "GaudiKernel/IAlgTool.h"
12 
13 namespace LVL1 {
14 
15 /*
16 Interface definition for gFEXJwoJAlgo
17 */
18 
19  static const InterfaceID IID_IgFEXJwoJAlgo("LVL1::IgFEXJwoJAlgo", 1, 0);
20  typedef std::array<std::array<int, 12>, 32> gTowersType;
21 
22  class IgFEXJwoJAlgo : virtual public IAlgTool {
23  public:
24  static const InterfaceID& interfaceID( ) ;
25 
26 
27  virtual void setAlgoConstant(int aFPGA_A, int bFPGA_A,
28  int aFPGA_B, int bFPGA_B,
29  int aFPGA_C, int bFPGA_C,
30  int gXE_seedThrA, int gXE_seedThrB, int gXE_seedThrC) = 0;
31 
32  virtual std::vector<std::unique_ptr<gFEXJwoJTOB>> jwojAlgo(const gTowersType& Atwr,const gTowersType& Btwr, const gTowersType& Ctwr,
33  std::array<uint32_t, 4> & outTOB) const = 0;
34 
35 
36 
37  };
38 
39  inline const InterfaceID& LVL1::IgFEXJwoJAlgo::interfaceID()
40  {
41  return IID_IgFEXJwoJAlgo;
42  }
43 
44 } // end of namespace
45 
46 #endif
LVL1::IgFEXJwoJAlgo::jwojAlgo
virtual std::vector< std::unique_ptr< gFEXJwoJTOB > > jwojAlgo(const gTowersType &Atwr, const gTowersType &Btwr, const gTowersType &Ctwr, std::array< uint32_t, 4 > &outTOB) const =0
LVL1::IgFEXJwoJAlgo
Definition: IgFEXJwoJAlgo.h:22
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
gFEXJwoJTOB.h
FEXAlgoSpaceDefs.h
LVL1::gTowersType
std::array< std::array< int, 12 >, 32 > gTowersType
Definition: IgFEXFPGA.h:25
LVL1::IgFEXJwoJAlgo::setAlgoConstant
virtual void setAlgoConstant(int aFPGA_A, int bFPGA_A, int aFPGA_B, int bFPGA_B, int aFPGA_C, int bFPGA_C, int gXE_seedThrA, int gXE_seedThrB, int gXE_seedThrC)=0
LVL1::IgFEXJwoJAlgo::interfaceID
static const InterfaceID & interfaceID()
Definition: IgFEXJwoJAlgo.h:39