ATLAS Offline Software
Loading...
Searching...
No Matches
IjFEXFPGA.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5//***************************************************************************
6// jFEXFPGA.h -
7// -------------------
8// begin : 23 03 2019
9// email : jacob.julian.kempster@cern.ch
10// ***************************************************************************/
11
12#ifndef IjFEXFPGA_H
13#define IjFEXFPGA_H
14
15#include "GaudiKernel/IAlgTool.h"
16#include "L1CaloFEXSim/jTower.h"
18#include "TrigConfData/L1Menu.h"
20
22
23namespace LVL1 {
24
25/*
26Interface definition for jFEXFPGA
27*/
28
29 static const InterfaceID IID_IjFEXFPGA("LVL1::IjFEXFPGA", 1, 0);
30
31 class IjFEXFPGA : virtual public IAlgTool {
32 public:
33 static const InterfaceID& interfaceID( ) ;
34
35 virtual StatusCode init(int id, int efexid) = 0;
36
37 virtual StatusCode execute(jFEXOutputCollection* inputOutputCollection, const std::pair<unsigned int, const std::vector<int>&> & jetCalibrationParameters) = 0;
38
39 virtual void reset() = 0;
40
41 virtual int ID() = 0;
42
43 virtual std::vector <std::unique_ptr<jFEXTOB>> getSmallRJetTOBs() = 0;
44
45 virtual std::vector <std::unique_ptr<jFEXTOB>> getLargeRJetTOBs() = 0;
46
47 virtual std::vector <std::vector <uint32_t>> getFwdElTOBs() =0;
48
49 virtual std::vector<std::unique_ptr<jFEXTOB>> getTauTOBs() = 0;
50
51 virtual std::vector<std::unique_ptr<jFEXTOB>> getSumEtTOBs() =0;
52
53 virtual std::vector<std::unique_ptr<jFEXTOB>> getMetTOBs() =0;
54
55
56
59
60 virtual int getTTowerET_EM (unsigned int TTID ) =0;
61 virtual int getTTowerET_HAD (unsigned int TTID ) =0;
62 virtual int getTTowerET (unsigned int TTID ) =0;
63 virtual int getTTowerET_forMET (unsigned int TTID ) =0;
64
65
66 private:
67
68 };
69
70 inline const InterfaceID& LVL1::IjFEXFPGA::interfaceID()
71 {
72 return IID_IjFEXFPGA;
73 }
74
75} // end of namespace
76
77#endif
static constexpr int jFEX_wide_algoSpace_width
static constexpr int jFEX_thin_algoSpace_width
virtual void SetTowersAndCells_SG(int[][FEXAlgoSpaceDefs::jFEX_wide_algoSpace_width])=0
virtual std::vector< std::unique_ptr< jFEXTOB > > getSmallRJetTOBs()=0
virtual int ID()=0
virtual StatusCode init(int id, int efexid)=0
virtual StatusCode execute(jFEXOutputCollection *inputOutputCollection, const std::pair< unsigned int, const std::vector< int > & > &jetCalibrationParameters)=0
virtual void reset()=0
virtual std::vector< std::unique_ptr< jFEXTOB > > getSumEtTOBs()=0
virtual int getTTowerET_EM(unsigned int TTID)=0
virtual int getTTowerET(unsigned int TTID)=0
virtual int getTTowerET_forMET(unsigned int TTID)=0
virtual std::vector< std::vector< uint32_t > > getFwdElTOBs()=0
static const InterfaceID & interfaceID()
Definition IjFEXFPGA.h:70
virtual std::vector< std::unique_ptr< jFEXTOB > > getTauTOBs()=0
virtual void SetTowersAndCells_SG(int[][FEXAlgoSpaceDefs::jFEX_thin_algoSpace_width])=0
virtual int getTTowerET_HAD(unsigned int TTID)=0
virtual std::vector< std::unique_ptr< jFEXTOB > > getLargeRJetTOBs()=0
virtual std::vector< std::unique_ptr< jFEXTOB > > getMetTOBs()=0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IjFEXFPGA("LVL1::IjFEXFPGA", 1, 0)