ATLAS Offline Software
Loading...
Searching...
No Matches
IeSuperCellTowerMapper.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// IeSuperCellTowerMapper.h -
7// -------------------
8// begin : 23 03 2019
9// email : jacob.julian.kempster@cern.ch
10// ***************************************************************************/
11
12#ifndef IeSuperCellTowerMapper_H
13#define IeSuperCellTowerMapper_H
14
16#include "L1CaloFEXSim/eTower.h"
20
21namespace LVL1 {
22
23/*
24Interface definition for eSuperCellTowerMapper
25*/
26
27 static const InterfaceID IID_IeSuperCellTowerMapper("LVL1::IeSuperCellTowerMapper", 1, 0);
28
29 class IeSuperCellTowerMapper : virtual public IAlgTool {
30 public:
31 static const InterfaceID& interfaceID( ) ;
32
33 virtual StatusCode AssignSuperCellsToTowers(std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const = 0;
34 virtual StatusCode AssignTriggerTowerMapper(std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const = 0;
35
36 virtual void reset() const = 0;
37
38 virtual int FindAndConnectTower(std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw,CaloSampling::CaloSample sample,const int region, int layer, const int pos_neg, const int eta_index, const int phi_index, Identifier ID, float et, int prov, bool doPrint) const = 0;
39 virtual void ConnectSuperCellToTower(std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const = 0;
40 virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const = 0;
41 virtual void PrintCellSpec(const CaloSampling::CaloSample sample, int layer, const int region, const int eta_index, const int phi_index, const int pos_neg, int iETower, int iCell, int prov, Identifier ID, bool doenergysplit) const = 0;
42
43 private:
44
45 };
46
48 {
50 }
51
52} // end of namespace
53
54#endif
Helper class for offline supercell identifiers.
virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const =0
virtual void reset() const =0
virtual void PrintCellSpec(const CaloSampling::CaloSample sample, int layer, const int region, const int eta_index, const int phi_index, const int pos_neg, int iETower, int iCell, int prov, Identifier ID, bool doenergysplit) const =0
static const InterfaceID & interfaceID()
virtual StatusCode AssignSuperCellsToTowers(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const =0
virtual StatusCode AssignTriggerTowerMapper(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw) const =0
virtual int FindAndConnectTower(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw, CaloSampling::CaloSample sample, const int region, int layer, const int pos_neg, const int eta_index, const int phi_index, Identifier ID, float et, int prov, bool doPrint) const =0
virtual void ConnectSuperCellToTower(std::unique_ptr< eTowerContainer > &my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const =0
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
static const InterfaceID IID_IeSuperCellTowerMapper("LVL1::IeSuperCellTowerMapper", 1, 0)
Extra patterns decribing particle interation process.