ATLAS Offline Software
Loading...
Searching...
No Matches
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
13namespace LVL1 {
14
15/*
16Interface 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
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
virtual void init(std::unique_ptr< gTowerContainer > &gTowerContainer)=0
virtual void execute(std::unique_ptr< gTowerContainer > &gTowerContainer) const =0
virtual void BuildEMEgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
virtual void BuildTransEMBgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
static const InterfaceID & interfaceID()
virtual void BuildEMBgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
virtual void reset()=0
virtual void BuildSingleTower(std::unique_ptr< gTowerContainer > &gTowerContainerRaw, int eta, int phi, int nphi, int keybase, int posneg) const =0
virtual void BuildFwdEMECgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
virtual void BuildAllTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
virtual void BuildFCALgTowers(std::unique_ptr< gTowerContainer > &gTowerContainerRaw) const =0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IgTowerBuilder("LVL1::IgTowerBuilder", 1, 0)