|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUONMDT_CABLING_MUONMDT_CABLINGMAP_H
6 #define MUONMDT_CABLING_MUONMDT_CABLINGMAP_H
23 class MdtMezzanineType;
32 using TdcOffSet = std::set<MdtTdcOffSorter, std::less<>>;
43 TdcOffSet::const_iterator
begin()
const {
return cards.begin(); }
44 TdcOffSet::const_iterator
end()
const {
return cards.end(); }
45 TdcOffSet::const_iterator
begin() {
return cards.begin(); }
46 TdcOffSet::const_iterator
end() {
return cards.end(); }
51 std::array<MdtCablingOnData, 2>
csm{};
54 using OffToOnlMap = std::map<MdtCablingOffData, MdtOffChModule>;
107 bool check_valid =
true)
const;
117 MsgStream&
log)
const;
121 const std::vector<uint32_t>& ROBId_list, MsgStream&
log)
const;
140 MsgStream&
log)
const;
149 MsgStream&
log)
const;
170 std::vector<std::unique_ptr<MdtTdcMap>>
m_tdcs{};
194 #include "AthenaKernel/CondCont.h"
ROBToChamberMap m_ROBToMultiLayer
map returning a detector element hashes associated with a given ROD
bool getStationCode(const CablingData &map_data, IdentifierHash &mdtHashId, MsgStream &log) const
Transforms the identifier to an IdentifierHash corresponding to the module.
TdcOffSet cards
Mezzanine cards mounted on the chamber.
std::vector< IdentifierHash > getMultiLayerHashVec(const std::vector< uint32_t > &ROBId_list, MsgStream &log) const
return a vector of HashId lists for a given list of ROD's
MezzCardPtr legacyHedgehogCard(CablingData &cabling, MsgStream &msg) const
In the legacy data format several transformations on the hedgehog layout were applied during the fina...
TdcOnlSet::const_iterator end()
bool addChamberToROBMap(const CablingData &cabling_data, MsgStream &log)
private function to add a chamber to the ROD map
TdcOffSet::const_iterator begin()
bool addMezzanine(CablingData cabling_data, DataSource source, MsgStream &log)
Add a new fully configured mezzanine card.
std::vector< uint32_t > ListOfROB
std::map< IdentifierHash, uint32_t > ChamberToROBMap
typedef to implement the csm mapping to ROB
OnlToOffMap m_toOfflineConv
bool convert(const CablingData &cabling_data, Identifier &id, bool check_valid=true) const
converts the cabling data into an identifier.
Helper struct to search through the std::set if a conversion from online -> offline is needed.
MuonMDT_CablingMap & operator=(const MuonMDT_CablingMap &right)=delete
assignment and copy constructor operator (hidden)
std::map< uint8_t, std::unique_ptr< MdtMezzanineType > > MezzanineTypes
typedef to implement the list of mezzanine types
The online -> offline conversion needs to treat two cases tdcId && channelId == 0xFF: ** Decode the s...
unsigned int csmNumOnChamber(const CablingData &map_data, MsgStream &log) const
Returns whether the channel belongs to the first or second mounted CSM card.
MdtMezzanineCard::MezzCardPtr MezzCardPtr
std::map< MdtCablingOffData, MdtOffChModule > OffToOnlMap
std::vector< std::unique_ptr< MdtTdcMap > > m_tdcs
MezzCardPtr getHedgeHogMapping(uint8_t mezzCardId) const
ChamberToROBMap m_chamberToROB
map returning the RODid for a given chamber ID
std::shared_ptr< const MdtMezzanineCard > MezzCardPtr
std::array< MdtCablingOnData, 2 > csm
The up to 2 CSMs to which the cards are connected.
MuonMDT_CablingMap(const MuonMDT_CablingMap &)=delete
TdcOffSet::const_iterator end() const
OffToOnlMap m_toOnlineConv
bool finalize_init(MsgStream &log)
std::map< MdtCablingOnData, MdtTdcModule > OnlToOffMap
TdcOffSet::const_iterator begin() const
bool m_2CSM_cham
Switch to check whether the layout has chambers with 2 CSM chips.
bool getOnlineId(CablingData &cabling_data, MsgStream &log) const
return the online id given the offline id
std::vector< MezzCardPtr > MezzCardList
List of mezzanine cards.
uint32_t getROBId(const IdentifierHash &stationCode, MsgStream &log) const
return the ROD id of a given chamber, given the hash id
TdcOnlSet::const_iterator begin()
bool getMultiLayerCode(const CablingData &map_data, Identifier &multiLayer, IdentifierHash &mdtHashId, MsgStream &log) const
Transforms the identifier to an IdentifierHash corresponding to the multilayer In this case,...
const OffToOnlMap & getOfflineConvMap() const
Returns hte map to convert the offline -> online identifiers.
const ListOfROB & getAllROBId() const
return the ROD id of a given chamber
std::vector< MdtTdcOnlSorter > TdcOnlSet
MdtTdcOnlSorter zero_module
ChamberToROBMap m_multilayerToROB
map raturning the RODid for a given multi layer ID
Helper struct to group the Mezzanine cards mounted on each multilayer The object provides the followi...
const OnlToOffMap & getOnlineConvMap() const
Returns the map to convert the online -> offline identifiers.
bool addMezanineLayout(std::unique_ptr< MdtMezzanineCard > card, MsgStream &log)
Adds a new mezzanine card mapping.
std::map< uint32_t, std::vector< IdentifierHash > > ROBToChamberMap
TdcOnlSet::const_iterator end() const
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
TdcOnlSet::const_iterator begin() const
bool getOfflineId(CablingData &cabling_data, MsgStream &log) const
return the offline id given the online id
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
TdcOffSet::const_iterator end()
macros to associate a CLID to a type
const MdtIdHelper * m_mdtIdHelper
Pointer to the MdtIdHelper.
ListOfROB m_listOfROB
full list of ROBs
std::set< MdtTdcOffSorter, std::less<> > TdcOffSet
bool addMezzanineLine(const int type, const int layer, const int sequence, MsgStream &log)
Add a new line describing a mezzanine type.
bool has2CsmML() const
Returns if the cabling map has found multilayers connected to 2 CSM cards.
MuonMDT_CablingMap::MezzCardPtr MezzCardPtr
MdtCablingData CablingData