6#include "Identifier/Identifier.h"
45 auto [iter, newElementAdded] =
m_idMap_rodrob.insert(std::make_pair(rodid, robid));
46 if ( newElementAdded )
51 auto [iter, newElementAdded] =
m_idMap_robrod.insert(std::make_pair(robid, rodid));
52 if ( newElementAdded )
70 uint64_t searchId = onlineId;
72 std::unordered_map<uint64_t, Identifier>::const_iterator iter(
m_idMap_onoff.find(searchId));
80 uint32_t rodid = (onlineId & 0xFFFFFF);
82 if ((rodid & 0x130000) >> 16 == 0x13) {
83 std::map<uint32_t, bool>::const_iterator it =
m_rodReadoutMap.find(rodid);
89 searchId = onlineId & (0xF0FFFFFF);
104 std::unordered_map<Identifier, uint64_t, idHasher>::const_iterator iter(
m_idMap_offon.find(offlineId));
109 onlineId = (*iter).second;
116 if (offlineId ==
invalidId)
return robid;
121 robid = (*iter).second;
126 std::unordered_map<int, int>::const_iterator iter(
m_idMap_rodrob.find(rodid));
130 int robid = iter->second;
135 std::unordered_map<int,int>::const_iterator iter(
m_idMap_robrod.find(robid));
141 std::deque<Identifier> offlineId;
142 std::deque<Identifier>::const_iterator it1 =
m_offlineListVect.at(robid).begin();
144 for (; it1 != it2; ++it1) {
145 offlineId.push_back(*it1);
151 std::unordered_map<std::string, Identifier>::const_iterator iter(
m_idMapDCSoff.find(DCSname));
159 std::unordered_map<std::string, Identifier>::const_iterator iter =
m_idMapDCSoff.begin();
161 if (iter->second == offlineId)
182 uint32_t subDetId = (robid & 0xFFFFFF) >> 16;
185 if (subDetId < 0x14)
return (robid & 0xFFFFFF) | (link << 24);
188 else if (subDetId == 0x14 || subDetId == 0x15) {
191 uint32_t linknum_temp;
192 std::unordered_map<uint64_t, Identifier>::const_iterator itr =
m_idMap_onoff.begin();
194 if ((itr->first & 0xFFFFFF) == robid) {
195 linknum_temp = (itr->first >> 24);
197 if ((linknum_temp & 0xF) == link || ((linknum_temp >> 8) & 0xF) == link)
return itr->first;
const std::unordered_map< Identifier, uint32_t, idHasher > & get_idMap_offrob() const
const std::vector< uint32_t > & get_allRobs() const
void add_entry_onoff(const uint64_t, const Identifier)
std::map< uint32_t, std::deque< Identifier > > m_offlineListVect
ROBId -> offline identifier list.
std::string find_entry_offlineDCS(const Identifier offlineId) const
std::unordered_map< Identifier, uint32_t, idHasher > m_idMap_offrob
offline identifier -> ROBId map
void add_entry_DCSoffline(const std::string &, const Identifier)
void add_entry_offlineList(const uint32_t, const Identifier)
std::map< uint32_t, bool > m_rodReadoutMap
Readout speed for each ROD. false=40MBit, true=80MBit.
std::deque< Identifier > find_entry_offlineList(uint32_t robid) const
std::vector< uint32_t > m_allRods
void add_entry_offon(const Identifier, const uint64_t)
const std::unordered_map< int, int > & get_idMap_rodrob() const
void add_entry_rodrob(int rodid, int robid)
std::unordered_map< std::string, Identifier > m_idMapDCSoff
DCS name -> offline identifier.
void add_entry_robrod(int robid, int rodid)
Identifier find_entry_onoff(const uint64_t) const
const std::unordered_map< Identifier, uint64_t, idHasher > & get_idMap_offon() const
const std::unordered_map< int, int > & get_idMap_robrod() const
int find_entry_rodrob(const int rodid) const
uint64_t find_entry_offon(const Identifier) const
const std::vector< uint32_t > & get_allRods() const
std::vector< uint32_t > m_allRobs
const std::unordered_map< std::string, Identifier > & get_idMapDCSoff() const
std::unordered_map< Identifier, uint64_t, idHasher > m_idMap_offon
online identifier -> offline identifier map
std::unordered_map< uint64_t, Identifier > m_idMap_onoff
offline identifier -> online identifier map
Identifier find_entry_DCSoffline(const std::string &DCSname) const
std::unordered_map< int, int > m_idMap_robrod
ROBId -> RODId map (reverse of m_idMap_rodrob)
uint32_t find_entry_offrob(Identifier offlineId) const
int find_entry_robrod(const int robid) const
void set_readout_map(std::map< uint32_t, bool > rodReadoutMap)
std::unordered_map< int, int > m_idMap_rodrob
RODId -> ROBId map.
const std::unordered_map< uint64_t, Identifier > & get_idMap_onoff() const
virtual ~PixelCablingCondData()
void add_entry_offrob(const Identifier, const uint32_t)
uint64_t getOnlineIdFromRobId(uint32_t robid, uint32_t link) const