ATLAS Offline Software
Loading...
Searching...
No Matches
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
20namespace LVL1 {
21
22/*
23Interface 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
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 reset() 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)