ATLAS Offline Software
Loading...
Searching...
No Matches
JemMappingTool.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_JEMMAPPINGTOOL_H
6#define TRIGT1CALOMAPPINGTOOLS_JEMMAPPINGTOOL_H
7
8#include <map>
9#include <utility>
10#include <vector>
11
13
15
16class IInterface;
17class StatusCode;
18
19namespace LVL1 {
20
21
33
34class JemMappingTool : public extends<AthAlgTool, IL1CaloMappingTool>
35{
36
37 public:
38
39 using base_class::base_class;
40
41 virtual StatusCode initialize() override;
42 virtual StatusCode finalize() override;
43
45 virtual bool mapping(int crate, int module, int channel,
46 double& eta, double& phi, int& layer) const override;
48 virtual bool mapping(double eta, double phi, int layer,
49 int& crate, int& module, int& channel) const override;
50
51 private:
52
53 static const int s_crates = 2;
54 static const int s_modules = 16;
55 static const int s_channels = 44;
56
57 static const int s_modulesPerQuadrant = 8;
58 static const int s_extremeNegModule = 0;
59 static const int s_extremePosModule = 7;
60 static const int s_etaBinsPerRow = 4;
61
62 static const double s_phiGran;
63 static const double s_etaGran;
64
65 // Extreme eta data vectors
66 std::vector<double> m_etasNegative;
67 std::vector<double> m_granNegative;
68 std::vector<double> m_etasPositive;
69 std::vector<double> m_granPositive;
70
71 // Extreme eta remapping vectors
72 std::vector<int> m_negChans;
73 std::vector<int> m_posChans;
74
75};
76
77} // end namespace
78
79#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
JEM crate/module/channel to eta/phi/layer mappings.
std::vector< double > m_etasPositive
std::vector< int > m_posChans
virtual StatusCode finalize() override
static const double s_etaGran
virtual StatusCode initialize() override
std::vector< double > m_etasNegative
static const int s_crates
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.
std::vector< double > m_granNegative
static const int s_extremeNegModule
std::vector< double > m_granPositive
static const int s_modules
static const int s_channels
static const double s_phiGran
static const int s_etaBinsPerRow
std::vector< int > m_negChans
static const int s_extremePosModule
static const int s_modulesPerQuadrant
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...