ATLAS Offline Software
Loading...
Searching...
No Matches
MuonFixedIdManipulator.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 MUONFIXEDIDMANIPULATOR_H
6#define MUONFIXEDIDMANIPULATOR_H
7
8#include <iostream>
9
11
12namespace MuonCalib {
13
15 public:
17 enum StationIndex { BI = 0, BM, BO, BE, EIA, EMA, EOA, EEA, EIC, EMC, EOC, EEC, CSA, CSC, StationUnknown = 999 };
20
21 public:
24
27
30
33
39 MuonFixedId stationIdentifier(const MuonFixedId& id, bool mapOnMdts = false) const;
40
45
51 MuonFixedId moduleIdentifier(const MuonFixedId& id, bool includeMeasuresPhi = false) const;
52
58 MuonFixedId gasGapIdentifier(const MuonFixedId& id, bool includeMeasuresPhi = false) const;
59
61 bool measuresPhi(const MuonFixedId& id) const;
62
64 bool isEndcap(const MuonFixedId& id) const;
65 };
66
67 inline bool MuonFixedIdManipulator::measuresPhi(const MuonFixedId& id) const {
68 if (id.is_rpc())
69 return id.rpcMeasuresPhi();
70 else if (id.is_tgc())
71 return id.tgcIsStrip();
72 else if (id.is_csc())
73 return id.cscMeasuresPhi();
74 return false;
75 }
76
77 inline bool MuonFixedIdManipulator::isEndcap(const MuonFixedId& id) const {
78 if (!id.isValid()) return false;
79 if (id.is_rpc()) return false;
80 if (id.is_csc()) return true;
81 if (id.is_tgc()) return true;
82 if (id.stationNameString()[0] == 'E') return true;
83 return false;
84 }
85
86} // namespace MuonCalib
87
88#endif
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
MuonFixedId stationLayerIdentifier(const MuonFixedId &id) const
returns a station layer identifier for the give identifier
StationIndex
enum defining station layers
PhiStationIndex phiStationLayerIndex(const MuonFixedId &id) const
return phi station layer index for a give identifier
MuonFixedId gasGapIdentifier(const MuonFixedId &id, bool includeMeasuresPhi=false) const
returns gas gap Identifier for the give id MDT: same as tube identifier RPC: station name/eta/phi/dou...
MuonFixedId chamberIdentifier(const MuonFixedId &id) const
returns chamber Identifier for the give id, same as stationIdentifier RPC: includes doubletR
StationIndex stationLayerIndex(const MuonFixedId &id) const
returns station layer index for a give identifier
PhiStationIndex
enum defining trigger phi layers
bool isEndcap(const MuonFixedId &id) const
returns whether this is a phi measurement
MuonFixedId moduleIdentifier(const MuonFixedId &id, bool includeMeasuresPhi=false) const
returns layer Identifier for the give id MDT: station name/eta/phi/ml/lay RPC: station name/eta/phi/d...
MuonFixedId stationIdentifier(const MuonFixedId &id, bool mapOnMdts=false) const
returns station Identifier for the give id MDT: station name (BMS)/eta/phi RPC: name of associated MD...
bool measuresPhi(const MuonFixedId &id) const
returns whether this is a phi measurement
Implements fixed identifiers not dependent upon Athena Identifier for internal use in the calibration...
Definition MuonFixedId.h:50
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.