ATLAS Offline Software
IgTowerBuilder.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 IgTowerBuilder_H
7 #define IgTowerBuilder_H
8 
9 #include "GaudiKernel/IAlgTool.h"
10 #include "L1CaloFEXSim/gTower.h"
12 
13 namespace LVL1 {
14 
15 /*
16 Interface definition for gTowerBuilder
17 */
18 
19  static const InterfaceID IID_IgTowerBuilder("LVL1::IgTowerBuilder", 1, 0);
20 
21  class IgTowerBuilder : virtual public IAlgTool {
22  public:
23  static const InterfaceID& interfaceID( ) ;
24 
25  virtual void BuildEMBgTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
26  virtual void BuildTransEMBgTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
27  virtual void BuildEMEgTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
28  virtual void BuildFwdEMECgTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
29  virtual void BuildFCALgTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
30  virtual void BuildAllTowers(std::unique_ptr<gTowerContainer> & gTowerContainerRaw) const = 0;
31  virtual void BuildSingleTower(std::unique_ptr<gTowerContainer> & gTowerContainerRaw, int eta, int phi, int nphi, int keybase, int posneg) const = 0;
32 
33 
34  virtual void init(std::unique_ptr<gTowerContainer> & gTowerContainer) = 0;
35  virtual void execute(std::unique_ptr<gTowerContainer> & gTowerContainer) const = 0;
36  virtual void reset() = 0;
37 
38 
39 
40 
41  private:
42 
43  };
44 
45  inline const InterfaceID& LVL1::IgTowerBuilder::interfaceID()
46  {
47  return IID_IgTowerBuilder;
48  }
49 
50 } // end of namespace
51 
52 #endif
LVL1::IgTowerBuilder::init
virtual void init(std::unique_ptr< gTowerContainer > &gTowerContainer)=0
LVL1::IgTowerBuilder::interfaceID
static const InterfaceID & interfaceID()
Definition: IgTowerBuilder.h:45
LVL1::IgTowerBuilder::BuildEMEgTowers
virtual void BuildEMEgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
gTowerContainer.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::IgTowerBuilder
Definition: IgTowerBuilder.h:21
LVL1::IgTowerBuilder::BuildSingleTower
virtual void BuildSingleTower(std::unique_ptr< gTowerContainer > &gTowerContainerRaw, int eta, int phi, int nphi, int keybase, int posneg) const =0
LVL1::IgTowerBuilder::BuildTransEMBgTowers
virtual void BuildTransEMBgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
LVL1::IgTowerBuilder::BuildAllTowers
virtual void BuildAllTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
LVL1::IgTowerBuilder::BuildEMBgTowers
virtual void BuildEMBgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
LVL1::gTowerContainer
Definition: gTowerContainer.h:25
LVL1::IgTowerBuilder::reset
virtual void reset()=0
LVL1::IgTowerBuilder::BuildFCALgTowers
virtual void BuildFCALgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
LVL1::IgTowerBuilder::BuildFwdEMECgTowers
virtual void BuildFwdEMECgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
gTower.h
LVL1::IgTowerBuilder::execute
virtual void execute(std::unique_ptr< gTowerContainer > &gTowerContainer) const =0