ATLAS Offline Software
Loading...
Searching...
No Matches
IeTowerBuilder.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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"
16#include "L1CaloFEXSim/eTower.h"
18
19namespace LVL1 {
20
21/*
22Interface definition for eTowerBuilder
23*/
24
25 static const InterfaceID IID_IeTowerBuilder("LVL1::IeTowerBuilder", 1, 0);
26
27 class IeTowerBuilder : virtual public IAlgTool {
28 public:
29 static const InterfaceID& interfaceID( ) ;
30
31 virtual void BuildEMBeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
32 virtual void BuildTRANSeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
33 virtual void BuildEMEeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0 ;
34 virtual void BuildHECeTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
35 virtual void BuildAllTowers(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
36 virtual void BuildSingleTower(std::unique_ptr<eTowerContainer> & eTowerContainer,float eta, float phi, float keybase, int posneg) const = 0;
37
38 virtual void init(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
39 virtual void execute(std::unique_ptr<eTowerContainer> & eTowerContainer) const = 0;
40
41 private:
42
43 };
44
45 inline const InterfaceID& LVL1::IeTowerBuilder::interfaceID()
46 {
47 return IID_IeTowerBuilder;
48 }
49
50} // end of namespace
51
52#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
virtual void BuildAllTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
virtual void BuildSingleTower(std::unique_ptr< eTowerContainer > &eTowerContainer, float eta, float phi, float keybase, int posneg) const =0
virtual void BuildHECeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
static const InterfaceID & interfaceID()
virtual void execute(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
virtual void BuildEMEeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
virtual void BuildTRANSeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
virtual void init(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
virtual void BuildEMBeTowers(std::unique_ptr< eTowerContainer > &eTowerContainer) const =0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IeTowerBuilder("LVL1::IeTowerBuilder", 1, 0)