ATLAS Offline Software
|
PPM crate/module/channel to eta/phi/layer mappings. More...
#include <PpmMappingTool.h>
Public Member Functions | |
virtual StatusCode | initialize () override |
virtual StatusCode | finalize () override |
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. More... | |
virtual bool | mapping (double eta, double phi, int layer, int &crate, int &module, int &channel) const override |
Return crate, module and channel mapping for given eta/phi/layer. More... | |
Private Types | |
typedef std::pair< double, double > | Offsets |
typedef std::array< ChannelCoordinate, s_channels > | CoordinateMap |
typedef std::pair< Offsets, const CoordinateMap * > | ModuleInfo |
typedef std::array< ModuleInfo, s_modules > | ModuleMap |
typedef std::array< ModuleMap, s_crates > | CrateMap |
typedef std::pair< unsigned int, unsigned int > | ChannelIds |
typedef std::map< unsigned int, ChannelIds > | EtaPhiMap |
Private Member Functions | |
void | setupMap () |
Set up crate/module map. More... | |
void | setupInverseMap () |
Set up eta/phi map. More... | |
void | addCoords (int nrows, int ncols, double etaGran, double phiGran, double etaOffset, double phiOffset, const int *in, const int *out, int incr, ChannelCoordinate::CaloLayer layer, CoordinateMap &coordMap) |
Add entries to a coordinate map. More... | |
void | addMods (int crate, int modOffset, int nrows, int ncols, double etaBase, double phiBase, double etaRange, double phiRange, const CoordinateMap *coordMap) |
Add a block of similar modules to a crate. More... | |
double | etaSim (const ChannelCoordinate &coord) const |
Correction for Had FCAL eta which is adjusted to EM value in TriggerTower. More... | |
unsigned int | etaPhiKey (double eta, double phi) const |
Simple eta/phi key. More... | |
Private Attributes | |
std::array< ModuleMap, s_crates > | m_crateInfo |
Pointer to crate/module map. More... | |
std::vector< std::unique_ptr< CoordinateMap > > | m_coordMaps |
Vector of CoordinateMaps. More... | |
EtaPhiMap | m_etaPhiMap |
Pointer to inverse map. More... | |
Static Private Attributes | |
static const int | s_crates = 8 |
static const int | s_modules = 16 |
static const int | s_channels = 64 |
PPM crate/module/channel to eta/phi/layer mappings.
The inputs and crate layouts come from "Level-1 Calorimeter Trigger: Cable Mappings and Crate Layouts from Analogue Inputs to Processors" version 1.6. The input-output mapping comes from Steve Hillier's online decoder.
Definition at line 36 of file PpmMappingTool.h.
|
private |
Definition at line 64 of file PpmMappingTool.h.
|
private |
Definition at line 59 of file PpmMappingTool.h.
|
private |
Definition at line 62 of file PpmMappingTool.h.
|
private |
Definition at line 65 of file PpmMappingTool.h.
|
private |
Definition at line 60 of file PpmMappingTool.h.
|
private |
Definition at line 61 of file PpmMappingTool.h.
|
private |
Definition at line 58 of file PpmMappingTool.h.
|
private |
|
private |
|
private |
|
private |
Correction for Had FCAL eta which is adjusted to EM value in TriggerTower.
Definition at line 452 of file PpmMappingTool.cxx.
|
overridevirtual |
Definition at line 30 of file PpmMappingTool.cxx.
|
overridevirtual |
Definition at line 21 of file PpmMappingTool.cxx.
|
overridevirtual |
Return crate, module and channel mapping for given eta/phi/layer.
Definition at line 65 of file PpmMappingTool.cxx.
|
overridevirtual |
Return eta, phi and layer mapping for given crate/module/channel.
Definition at line 37 of file PpmMappingTool.cxx.
|
private |
|
private |
|
private |
Vector of CoordinateMaps.
Definition at line 88 of file PpmMappingTool.h.
Pointer to crate/module map.
Definition at line 86 of file PpmMappingTool.h.
|
private |
Pointer to inverse map.
Definition at line 90 of file PpmMappingTool.h.
|
staticprivate |
Definition at line 55 of file PpmMappingTool.h.
|
staticprivate |
Definition at line 53 of file PpmMappingTool.h.
|
staticprivate |
Definition at line 54 of file PpmMappingTool.h.