ATLAS Offline Software
IjFEXForwardElecAlgo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 //***************************************************************************
5 // Interface for jFEXForwardElecAlgo - Algorithm for Forward Electron Algorithm in jFEX
6 // -------------------
7 // begin : 16 11 2021
8 // email : Sergi.Rodriguez@cern.ch
9 //***************************************************************************
10 
11 #ifndef IjFEXForwardElecAlgo_H
12 #define IjFEXForwardElecAlgo_H
13 
14 #include "GaudiKernel/IAlgTool.h"
18 
19 
20 namespace LVL1 {
21 
22 static const InterfaceID IID_IjFEXForwardElecAlgo("LVL1::IjFEXForwardElecAlgo",1, 0);
23 
24 class IjFEXForwardElecAlgo : virtual public IAlgTool {
25  public:
26  static const InterfaceID& interfaceID ( ) ;
27  virtual StatusCode safetyTest() = 0;
28  virtual StatusCode reset() =0;
30 
31  //virtual std::array<float,4> getEtaPhiEt(uint) =0;
32  virtual std::array<float,2> getEtaPhi(uint) =0;
33  virtual std::array<int,2> getEtEmHad(uint) =0;
34  virtual std::unordered_map<uint, jFEXForwardElecInfo> calculateEDM() =0;
35  virtual void setFPGAEnergy(std::unordered_map<int,std::vector<int> >,std::unordered_map<int,std::vector<int> > ) =0;
36 
37  private:
38 
39 };
40 inline const InterfaceID& LVL1::IjFEXForwardElecAlgo::interfaceID()
41 {
42  return IID_IjFEXForwardElecAlgo;
43 }
44 
45 }
46 #endif
47 
LVL1::IjFEXForwardElecAlgo::safetyTest
virtual StatusCode safetyTest()=0
LVL1::IjFEXForwardElecAlgo::reset
virtual StatusCode reset()=0
LVL1::IjFEXForwardElecAlgo
Definition: IjFEXForwardElecAlgo.h:24
LVL1::FEXAlgoSpaceDefs::jFEX_algoSpace_height
constexpr static int jFEX_algoSpace_height
Definition: FEXAlgoSpaceDefs.h:27
LVL1::IjFEXForwardElecAlgo::interfaceID
static const InterfaceID & interfaceID()
Definition: IjFEXForwardElecAlgo.h:40
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width
constexpr static int jFEX_wide_algoSpace_width
Definition: FEXAlgoSpaceDefs.h:25
LVL1::IjFEXForwardElecAlgo::getEtaPhi
virtual std::array< float, 2 > getEtaPhi(uint)=0
FEXAlgoSpaceDefs.h
jTowerContainer.h
LVL1::IjFEXForwardElecAlgo::calculateEDM
virtual std::unordered_map< uint, jFEXForwardElecInfo > calculateEDM()=0
LVL1::IjFEXForwardElecAlgo::getEtEmHad
virtual std::array< int, 2 > getEtEmHad(uint)=0
jFEXForwardElecInfo.h
LVL1::IjFEXForwardElecAlgo::setup
virtual void setup(int inputTable[FEXAlgoSpaceDefs::jFEX_algoSpace_height][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width], int, int)=0
LVL1::IjFEXForwardElecAlgo::setFPGAEnergy
virtual void setFPGAEnergy(std::unordered_map< int, std::vector< int > >, std::unordered_map< int, std::vector< int > >)=0