ATLAS Offline Software
IeFEXegAlgo.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 // IeFEXegAlgo.h -
7 // -------------------
8 // begin : 19 06 2020
9 // email : nicholas.andrew.luongo@cern.ch
10 // ***************************************************************************/
11 
12 #ifndef IeFEXegAlgo_H
13 #define IeFEXegAlgo_H
14 
15 #include "GaudiKernel/IAlgTool.h"
16 #include "L1CaloFEXSim/eFEXegTOB.h"
17 
18 namespace LVL1 {
19 
20 /*
21 Interface definition for eFEXegAlgo
22 */
23 
24  static const InterfaceID IID_IeFEXegAlgo("LVL1::IeFEXegAlgo", 1, 0);
25 
26  class IeFEXegAlgo : virtual public IAlgTool {
27  public:
28  static const InterfaceID& interfaceID( ) ;
29 
30  virtual StatusCode safetyTest() const = 0;
31  virtual void setup(int inputTable[3][3], int efex_id, int fpga_id, int central_eta) = 0;
32 
33  virtual void getReta(std::vector<unsigned int> & ) = 0;
34  virtual void getRhad(std::vector<unsigned int> & ) = 0;
35  virtual void getWstot(std::vector<unsigned int> & ) = 0;
36  virtual void getRealPhi(float & phi) = 0;
37  virtual void getRealEta(float & eta) = 0;
38  virtual std::unique_ptr<eFEXegTOB> geteFEXegTOB() = 0;
39  virtual void getClusterCells(std::vector<unsigned int> &cellETs) = 0;
40  virtual unsigned int getET() = 0;
41  virtual unsigned int dmCorrection(unsigned int ET, unsigned int layer) = 0;
42  virtual void getWindowET(int layer, int jPhi, int SCID, unsigned int &) = 0;
43  virtual bool hasSeed() const = 0;
44  virtual unsigned int getSeed() const = 0;
45  virtual unsigned int getUnD() const = 0;
46  virtual void getCoreEMTowerET(unsigned int & et) = 0;
47  virtual void getCoreHADTowerET(unsigned int & et) = 0;
48  virtual void getSums(unsigned int seed, bool UnD, std::vector<unsigned int> & RetaSums,
49  std::vector<unsigned int> & RhadSums, std::vector<unsigned int> & WstotSums) = 0;
50 
51  };
52 
53  inline const InterfaceID& LVL1::IeFEXegAlgo::interfaceID()
54  {
55  return IID_IeFEXegAlgo;
56  }
57 
58 } // end of namespace
59 
60 #endif
LVL1::IeFEXegAlgo::hasSeed
virtual bool hasSeed() const =0
LVL1::IeFEXegAlgo::getET
virtual unsigned int getET()=0
et
Extra patterns decribing particle interation process.
LVL1::IeFEXegAlgo::getUnD
virtual unsigned int getUnD() const =0
LVL1::IeFEXegAlgo::getWstot
virtual void getWstot(std::vector< unsigned int > &)=0
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
LVL1::IeFEXegAlgo::safetyTest
virtual StatusCode safetyTest() const =0
LVL1::IeFEXegAlgo
Definition: IeFEXegAlgo.h:26
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1::IeFEXegAlgo::getCoreEMTowerET
virtual void getCoreEMTowerET(unsigned int &et)=0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IeFEXegAlgo::getRealPhi
virtual void getRealPhi(float &phi)=0
LVL1::IeFEXegAlgo::getCoreHADTowerET
virtual void getCoreHADTowerET(unsigned int &et)=0
LVL1::IeFEXegAlgo::getSeed
virtual unsigned int getSeed() const =0
LVL1::IeFEXegAlgo::getWindowET
virtual void getWindowET(int layer, int jPhi, int SCID, unsigned int &)=0
LVL1::IeFEXegAlgo::dmCorrection
virtual unsigned int dmCorrection(unsigned int ET, unsigned int layer)=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::IeFEXegAlgo::getClusterCells
virtual void getClusterCells(std::vector< unsigned int > &cellETs)=0
LVL1::IeFEXegAlgo::getReta
virtual void getReta(std::vector< unsigned int > &)=0
eFEXegTOB.h
LVL1::IeFEXegAlgo::geteFEXegTOB
virtual std::unique_ptr< eFEXegTOB > geteFEXegTOB()=0
LVL1::IeFEXegAlgo::interfaceID
static const InterfaceID & interfaceID()
Definition: IeFEXegAlgo.h:53
LVL1::IeFEXegAlgo::getRealEta
virtual void getRealEta(float &eta)=0
LVL1::IeFEXegAlgo::getRhad
virtual void getRhad(std::vector< unsigned int > &)=0
LVL1::IeFEXegAlgo::getSums
virtual void getSums(unsigned int seed, bool UnD, std::vector< unsigned int > &RetaSums, std::vector< unsigned int > &RhadSums, std::vector< unsigned int > &WstotSums)=0
LVL1::IeFEXegAlgo::setup
virtual void setup(int inputTable[3][3], int efex_id, int fpga_id, int central_eta)=0