10#ifndef MUONIDHELPERS_STGCIDHELPER_H
11#define MUONIDHELPERS_STGCIDHELPER_H
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.
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)
int padPhi(const Identifier &id) const
static constexpr unsigned int s_etaDim
-3, -2, -1, 1, 2, 3
static constexpr unsigned int s_detHashDim
std::array< unsigned int, s_modHashDim > m_module_hashes
IdDictFieldImplementation m_cha_impl
void idChannels(const Identifier &id, std::vector< Identifier > &vect) const
int multilayer(const Identifier &id) const
bool valid(const Identifier &id) const
virtual int get_detectorElement_hash(const Identifier &id, IdentifierHash &hash_id) const override
static constexpr unsigned int s_stDim
Small and big wedges.
static constexpr unsigned int s_mlDim
2 multilayer
bool SmallSector(int stationName) const
unsigned int m_stationShift
Minimal station index found.
static int stationPhiMax()
IdDictFieldImplementation m_gap_impl
int stgcTechnology() const
Utility methods.
virtual int get_module_hash(const Identifier &id, IdentifierHash &hash_id) const override
Identifier hvID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, bool isInnerQ1) const
int channelType(const Identifier &id) const
unsigned int detEleHashIdx(const Identifier &id) const
Identifier elementID(int stationName, int stationEta, int stationPhi) const
int padEta(const Identifier &id) const
Identifier parentID(const Identifier &id) const
static int multilayerMax()
size_type m_CHANNELTYPE_INDEX
Identifier febID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType) const
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
static int stationPhiMin()
int channel(const Identifier &id) const override
Identifier febID(const Identifier &channelID, int channelType) const
static int stationEtaMin()
static int multilayerMin()
bool measuresPhi(const Identifier &id) const override
returns measuresPhi
Identifier padID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int padEta, int padPhi) const
bool validChannel(const Identifier &id, int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
IdDictFieldImplementation m_mplet_impl
virtual ~sTgcIdHelper()=default
static int stationEtaMax()
bool LargeSector(int stationName) const
int gasGap(const Identifier &id) const override
get the hashes
static constexpr unsigned int s_modHashDim
static constexpr unsigned int s_phiDim
8 phi station
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channelType, int channel) const
unsigned int moduleHashIdx(const Identifier &id) const
bool validElement(const Identifier &id) const
Identifier multilayerID(const Identifier &channeldID) const
static int channelTypeMax()
int numberOfMultilayers(const Identifier &id) const
IdDictFieldImplementation m_typ_impl
std::array< unsigned int, s_detHashDim > m_detectorElement_hashes
Identifier febID(const Identifier &channelID, int channelType, bool &isValid) const
bool isStNameInTech(const std::string &stationName) const override
The valid element checks converted the identifier to a stationName string in order to assess whether ...
static int channelTypeMin()