ATLAS Offline Software
PpmCoolMappingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1CALOMAPPINGTOOLS_PPMCOOLMAPPINGTOOL_H
6 #define TRIGT1CALOMAPPINGTOOLS_PPMCOOLMAPPINGTOOL_H
7 
8 #include <string>
9 
11 #include "GaudiKernel/IIncidentListener.h"
12 #include "GaudiKernel/Incident.h"
13 #include "GaudiKernel/ToolHandle.h"
14 
17 
18 class CaloLVL1_ID;
19 class IInterface;
20 class StatusCode;
21 class TTOnlineID;
22 
23 namespace LVL1 {
24 
33 class PpmCoolMappingTool : public extends<AthAlgTool, IL1CaloMappingTool, IIncidentListener>
34 {
35  public:
36 
37  using base_class::base_class;
38 
39  virtual StatusCode initialize() override;
40  virtual void handle(const Incident&) override;
41 
43  virtual bool mapping(int crate, int module, int channel,
44  double& eta, double& phi, int& layer) const override;
46  virtual bool mapping(double eta, double phi, int layer,
47  int& crate, int& module, int& channel) const override;
48 
49  private:
50 
51  // Tools and helpers
52  ToolHandle<CaloTriggerTowerService> m_ttSvc
53  { this, "CaloTriggerTowerService", "CaloTriggerTowerService" };
54  const CaloLVL1_ID* m_lvl1Helper = nullptr;
55  const TTOnlineID* m_l1ttonlineHelper = nullptr;
56 
58  std::vector<unsigned int> m_idTable;
59  static const int s_maxTableEntries = 8192;
60 
61 };
62 
63 } // end namespace
64 
65 #endif
LVL1::PpmCoolMappingTool::m_ttSvc
ToolHandle< CaloTriggerTowerService > m_ttSvc
Definition: PpmCoolMappingTool.h:53
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
TTOnlineID
Helper class for Calo TT online identifiers.
Definition: TTOnlineID.h:37
LVL1::PpmCoolMappingTool::m_idTable
std::vector< unsigned int > m_idTable
Mapping lookup table.
Definition: PpmCoolMappingTool.h:58
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::PpmCoolMappingTool::mapping
virtual bool mapping(int crate, int module, int channel, double &eta, double &phi, int &layer) const override
Return eta, phi and layer mapping for given crate/module/channel.
Definition: PpmCoolMappingTool.cxx:107
python.PyAthena.module
module
Definition: PyAthena.py:131
LVL1::PpmCoolMappingTool::initialize
virtual StatusCode initialize() override
Definition: PpmCoolMappingTool.cxx:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::PpmCoolMappingTool::s_maxTableEntries
static const int s_maxTableEntries
Definition: PpmCoolMappingTool.h:59
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
AthAlgTool.h
CaloLVL1_ID
Helper class for offline TT identifiers.
Definition: CaloLVL1_ID.h:66
IL1CaloMappingTool.h
CaloTriggerTowerService.h
LVL1::PpmCoolMappingTool::m_lvl1Helper
const CaloLVL1_ID * m_lvl1Helper
Definition: PpmCoolMappingTool.h:54
LVL1::PpmCoolMappingTool
PPM crate/module/channel to eta/phi/layer mappings.
Definition: PpmCoolMappingTool.h:34
LVL1::PpmCoolMappingTool::handle
virtual void handle(const Incident &) override
Definition: PpmCoolMappingTool.cxx:58
LVL1::PpmCoolMappingTool::m_l1ttonlineHelper
const TTOnlineID * m_l1ttonlineHelper
Definition: PpmCoolMappingTool.h:55