ATLAS Offline Software
Loading...
Searching...
No Matches
IeSuperCellTowerMapper.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// 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
18#include "L1CaloFEXSim/eTower.h"
23
24namespace LVL1 {
25
26/*
27Interface definition for eSuperCellTowerMapper
28*/
29
30 static const InterfaceID IID_IeSuperCellTowerMapper("LVL1::IeSuperCellTowerMapper", 1, 0);
31
32 class IeSuperCellTowerMapper : virtual public IAlgTool {
33 public:
34 static const InterfaceID& interfaceID( ) ;
35
36 virtual StatusCode AssignSuperCellsToTowers(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const = 0;
37 virtual StatusCode AssignTriggerTowerMapper(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw) const = 0;
38
39 virtual void reset() const = 0;
40
41 virtual int FindAndConnectTower(/*eTowerContainer**/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;
42 virtual void ConnectSuperCellToTower(/*eTowerContainer**/std::unique_ptr<eTowerContainer> & my_eTowerContainerRaw, int iETower, Identifier ID, int iCell, float et, int layer, bool doenergysplit) const = 0;
43 virtual int FindTowerIDForSuperCell(int towereta, int towerphi) const = 0;
44 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;
45
46 private:
47
48 };
49
51 {
53 }
54
55} // end of namespace
56
57#endif
std::vector< Identifier > ID
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.