13#ifndef MUONIDHELPERS_MDTIDHELPER_H
14#define MUONIDHELPERS_MDTIDHELPER_H
152 std::tuple<int, int, int, int>
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
This is a "hash" representation of an Identifier.
Identifier multilayerID(const Identifier &channeldID) const
std::pair< int, int > tubeLayerMinMax(const Identifier &id) const
static int stationPhiMin()
static int stationEtaMax(bool barrel)
bool validChannel(const Identifier &id, int stationName, int stationEta, int stationPhi, int multilayer, int tubeLayer, int tube) const
ranges_by_station_t m_module_ranges_by_station
unsigned int detEleHashIdx(const Identifier &id) const
std::array< unsigned int, s_detDim > m_detectorElement_hashes
virtual ~MdtIdHelper()=default
int multilayer(const Identifier &id) const
Access to components of the ID.
Identifier parentID(const Identifier &id) const
get parent id from channel id
Identifier elementID(int stationName, int stationEta, int stationPhi) const
bool validElement(const Identifier &id) const
std::tuple< int, int, int, int > stationEtaPhiMinMax(const Identifier &id) const
static int stationPhiMax()
std::pair< int, int > tubeMinMax(const Identifier &id) const
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
bool isBME(const Identifier &id) const
is this a BME chamber
static int multilayerMin()
bool valid(const Identifier &id) const
Public validation of levels.
std::pair< int, int > stationPhiMinMax(const Identifier &id) const
virtual int get_module_hash(const Identifier &id, IdentifierHash &hash_id) const override
bool isStNameInTech(const std::string &stationName) const override
The valid element checks converted the identifier to a stationName string in order to assess whether ...
ranges_by_station_t m_channel_ranges_by_station
int mdtTechnology() const
Utility methods.
int tube(const Identifier &id) const
static constexpr unsigned s_mlDim
std::pair< int, int > stationEtaMinMax(const Identifier &id) const
IdDictFieldImplementation m_lay_impl
static int tubeLayerMax()
static constexpr unsigned s_etaDim
int tubeLayer(const Identifier &id) const
static constexpr unsigned int s_detDim
virtual int get_detectorElement_hash(const Identifier &id, IdentifierHash &hash_id) const override
IdDictFieldImplementation m_tub_impl
static int stationEtaMin(bool barrel)
Access to min and max of level ranges.
int channel(const Identifier &id) const override
unsigned int moduleHashIdx(const Identifier &id) const
std::array< unsigned int, s_modHash > m_module_hashes
std::pair< int, int > multilayerMinMax(const Identifier &id) const
static constexpr unsigned s_phiDim
std::pair< int, int > findMinMax(const Identifier &id, const size_type field_index, const ranges_by_station_t &ranges_by_station) const
static int multilayerMax()
static constexpr unsigned int s_modHash
size_type m_TUBELAYER_INDEX
static constexpr int maxNTubesPerLayer
The maxNTubesPerLayer represents the absolute maximum of tubes which are built into a single multilay...
int numberOfMultilayers(const Identifier &id) const
IdDictFieldImplementation m_mla_impl
bool isBMG(const Identifier &id) const
is this a BMG chamber
static int tubeLayerMin()
bool measuresPhi(const Identifier &id) const override
always false for MDTs
int gasGap(const Identifier &id) const override
the gas-gap function for the MDT's returns the tube layer
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int tubeLayer, int tube) const
static constexpr unsigned s_stDim
std::vector< std::vector< const Range * > > ranges_by_station_t
void idChannels(const Identifier &id, std::vector< Identifier > &vect) const
int stationEta(const Identifier &id) const
int stationPhi(const Identifier &id) const
int stationName(const Identifier &id) const
Identifier::size_type size_type
MuonIdHelper(const std::string &logName, const std::string &group)