ATLAS Offline Software
IeTowerBuilder.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 // IeTowerBuilder.h -
7 // -------------------
8 // begin : 23 03 2019
9 // email : jacob.julian.kempster@cern.ch
10 // ***************************************************************************/
11 
12 #ifndef IeTowerBuilder_H
13 #define IeTowerBuilder_H
14 
15 #include "GaudiKernel/IAlgTool.h"
17 #include "L1CaloFEXSim/eTower.h"
19 
20 namespace LVL1 {
21 
22 /*
23 Interface definition for eTowerBuilder
24 */
25 
26  static const InterfaceID IID_IeTowerBuilder("LVL1::IeTowerBuilder", 1, 0);
27 
28  class IeTowerBuilder : virtual public IAlgTool {
29  public:
30  static const InterfaceID& interfaceID( ) ;
31 
32  virtual void BuildEMBeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
33  virtual void BuildTRANSeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
34  virtual void BuildEMEeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0 ;
35  virtual void BuildHECeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
36  virtual void BuildAllTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
37  virtual void BuildSingleTower(std::unique_ptr<eTowerContainer> & eTowerContainer,float eta, float phi, float keybase, int posneg) const = 0;
38 
39  virtual void init(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
40  virtual void execute(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
41  virtual void reset() const = 0;
42 
43 
44  private:
45 
46  };
47 
48  inline const InterfaceID& LVL1::IeTowerBuilder::interfaceID()
49  {
50  return IID_IeTowerBuilder;
51  }
52 
53 } // end of namespace
54 
55 #endif
LVL1::IeTowerBuilder::BuildTRANSeTowers
virtual void BuildTRANSeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
eTowerContainer.h
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LVL1::IeTowerBuilder::init
virtual void init(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IeTowerBuilder::execute
virtual void execute(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
LVL1::IeTowerBuilder::reset
virtual void reset() const =0
LVL1::IeTowerBuilder::interfaceID
static const InterfaceID & interfaceID()
Definition: IeTowerBuilder.h:48
LVL1::IeTowerBuilder::BuildSingleTower
virtual void BuildSingleTower(std::unique_ptr< eTowerContainer > &eTowerContainer, float eta, float phi, float keybase, int posneg) const =0
LVL1::IeTowerBuilder::BuildAllTowers
virtual void BuildAllTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
LVL1::IeTowerBuilder::BuildHECeTowers
virtual void BuildHECeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
LVL1::IeTowerBuilder::BuildEMEeTowers
virtual void BuildEMEeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
LVL1::eTowerContainer
Definition: eTowerContainer.h:35
LVL1::IeTowerBuilder::BuildEMBeTowers
virtual void BuildEMBeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
CaloCellContainer.h
LVL1::IeTowerBuilder
Definition: IeTowerBuilder.h:28
eTower.h