ATLAS Offline Software
PpmCoolMappingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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 StatusCode finalize() override;
41  virtual void handle(const Incident&) override;
42 
44  virtual bool mapping(int crate, int module, int channel,
45  double& eta, double& phi, int& layer) const override;
47  virtual bool mapping(double eta, double phi, int layer,
48  int& crate, int& module, int& channel) const override;
49 
50  private:
51 
52  // Tools and helpers
53  ToolHandle<CaloTriggerTowerService> m_ttSvc
54  { this, "CaloTriggerTowerService", "CaloTriggerTowerService" };
55  const CaloLVL1_ID* m_lvl1Helper = nullptr;
56  const TTOnlineID* m_l1ttonlineHelper = nullptr;
57 
59  std::vector<unsigned int> m_idTable;
60  static const int s_maxTableEntries = 8192;
61 
62 };
63 
64 } // end namespace
65 
66 #endif
LVL1::PpmCoolMappingTool::m_ttSvc
ToolHandle< CaloTriggerTowerService > m_ttSvc
Definition: PpmCoolMappingTool.h:54
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
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:59
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:144
python.PyAthena.module
module
Definition: PyAthena.py:134
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:60
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::PpmCoolMappingTool::finalize
virtual StatusCode finalize() override
Definition: PpmCoolMappingTool.cxx: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:55
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:87
LVL1::PpmCoolMappingTool::m_l1ttonlineHelper
const TTOnlineID * m_l1ttonlineHelper
Definition: PpmCoolMappingTool.h:56