![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <TGCCabling.h>
|
| TGCCabling (const std::string &filenameASDToPP, const std::string &filenameInPP, const std::string &filenamePPToSL, const std::string &filenameSLBToROD) |
|
virtual | ~TGCCabling (void) |
|
virtual TGCIdBase * | getASDOutChannel (const TGCIdBase *slb_in) const |
|
const TGCModuleId * | getSLBFromReadout (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc) const |
|
int | getRxIdFromReadout (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc) const |
|
TGCModuleId * | getSLBFromRxId (TGCIdBase::SideType side, int rodId, int sswId, int rxId) const |
|
bool | getReadoutFromSLB (const TGCModuleSLB *slb, TGCIdBase::SideType &side, int &rodId, int &sswId, int &sbLoc) const |
|
TGCChannelId * | getASDOutFromReadout (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc, int channel, bool orChannel=false) const |
|
bool | getReadoutFromASDOut (const TGCChannelASDOut *asdout, TGCIdBase::SideType &side, int &rodId, int &sswId, int &sbLoc, int &channel, bool orChannel=false) const |
|
bool | getHighPtIDFromReadout (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc, int channel, TGCIdBase::SignalType &signal, TGCIdBase::RegionType ®ion, int §orInReadout, int &hpbId, int &block, int &hitId, int &pos) const |
|
bool | getReadoutFromHighPtID (TGCIdBase::SideType side, int rodId, int &sswId, int &sbLoc, int &channel, TGCIdBase::SignalType signal, TGCIdBase::RegionType region, int sectorInReadout, int hpbId, int block, int hitId, int pos, TGCIdBase::ModuleType moduleType, bool orChannel) const |
|
bool | getLowPtCoincidenceFromReadout (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc, int channel, int &block, int &pos, bool middle=false) const |
|
bool | getReadoutFromLowPtCoincidence (TGCIdBase::SideType side, int rodId, int sswId, int sbLoc, int &channel, int block, int pos, bool middle=false) const |
|
TGCChannelId * | getChannel (const TGCChannelId *channelId, TGCIdBase::ChannelIdType type, bool orChannel=false) const |
|
TGCModuleMap * | getModule (const TGCModuleId *moduleId, TGCModuleId::ModuleIdType type) const |
|
StatusCode | updateCableASDToPP () |
|
Definition at line 36 of file TGCCabling.h.
◆ MAXMINREADOUTIDS
Enumerator |
---|
MAXRODID | |
MINRODID | |
MAXSRODID | |
MINSRODID | |
MAXSSWID | |
MINSSWID | |
MAXSBLOC | |
MINSBLOC | |
MINCHANNELID | |
MAXCHANNELID | |
Definition at line 53 of file TGCCabling.h.
◆ TGCCabling() [1/3]
MuonTGC_Cabling::TGCCabling::TGCCabling |
( |
| ) |
|
|
privatedelete |
◆ TGCCabling() [2/3]
◆ TGCCabling() [3/3]
MuonTGC_Cabling::TGCCabling::TGCCabling |
( |
const std::string & |
filenameASDToPP, |
|
|
const std::string & |
filenameInPP, |
|
|
const std::string & |
filenamePPToSL, |
|
|
const std::string & |
filenameSLBToROD |
|
) |
| |
◆ ~TGCCabling()
MuonTGC_Cabling::TGCCabling::~TGCCabling |
( |
void |
| ) |
|
|
virtual |
◆ getASDOutChannel()
◆ getASDOutFromReadout()
TGCChannelId * MuonTGC_Cabling::TGCCabling::getASDOutFromReadout |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int |
sswId, |
|
|
int |
sbLoc, |
|
|
int |
channel, |
|
|
bool |
orChannel = false |
|
) |
| const |
Definition at line 557 of file TGCCabling.cxx.
567 if(!slb)
return nullptr;
569 TGCChannelSLBIn slbin(slb->getSideType(),
570 slb->getModuleType(),
571 slb->getRegionType(),
575 if(!slbin.isValid())
return nullptr;
◆ getChannel()
Definition at line 618 of file TGCCabling.cxx.
627 if(!asdout)
return nullptr;
628 if(!asdout->isValid()){
634 if(!ppin)
return nullptr;
635 if(!ppin->isValid()){
641 if(!ppout)
return nullptr;
642 if(!ppout->isValid()){
658 if(!ppin)
return nullptr;
659 if(!ppin->isValid()){
665 if(!ppout)
return nullptr;
666 if(!ppout->isValid()){
692 if(!slbout)
return nullptr;
693 if(!slbout->isValid()) {
705 if(!ppout)
return nullptr;
706 if(!ppout->isValid()){
712 if(!ppin)
return nullptr;
713 if(!ppin->isValid()){
723 if(!ppout)
return nullptr;
724 if(!ppout->isValid()){
730 if(!ppin)
return nullptr;
731 if(!ppin->isValid()){
737 if(!asdout)
return nullptr;
738 if(!asdout->isValid()){
757 if(!slbout)
return nullptr;
758 if(!slbout->isValid()){
◆ getHighPtIDFromReadout()
bool MuonTGC_Cabling::TGCCabling::getHighPtIDFromReadout |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int |
sswId, |
|
|
int |
sbLoc, |
|
|
int |
channel, |
|
|
TGCIdBase::SignalType & |
signal, |
|
|
TGCIdBase::RegionType & |
region, |
|
|
int & |
sectorInReadout, |
|
|
int & |
hpbId, |
|
|
int & |
block, |
|
|
int & |
hitId, |
|
|
int & |
pos |
|
) |
| const |
Definition at line 430 of file TGCCabling.cxx.
445 sectorInReadout = -1;
457 TGCChannelSLBIn slbin(slb->getSideType(),
458 slb->getModuleType(),
459 slb->getRegionType(),
466 if(!hpbin->isValid()) {
470 signal = hpbin->getSignalType();
471 region = hpbin->getRegionType();
472 sectorInReadout = hpbin->getSectorInReadout();
473 hpbId = hpbin->getId();
474 block = hpbin->getBlock();
475 pos = hpbin->getChannel()%2;
476 hitId = (hpbin->getChannel() -
pos)/2;
◆ getIndexFromReadoutWithoutChannel()
◆ getLowPtCoincidenceFromReadout()
bool MuonTGC_Cabling::TGCCabling::getLowPtCoincidenceFromReadout |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int |
sswId, |
|
|
int |
sbLoc, |
|
|
int |
channel, |
|
|
int & |
block, |
|
|
int & |
pos, |
|
|
bool |
middle = false |
|
) |
| const |
Definition at line 522 of file TGCCabling.cxx.
537 TGCChannelSLBIn slbin(slb->getSideType(),
538 slb->getModuleType(),
539 slb->getRegionType(),
543 if(!slbin.isValid())
return false;
546 if(!slbout)
return false;
548 block = slbout->getBlock();
549 pos = slbout->getChannel();
◆ getModule()
Definition at line 775 of file TGCCabling.cxx.
777 switch(moduleId->getModuleIdType()){
◆ getReadoutFromASDOut()
bool MuonTGC_Cabling::TGCCabling::getReadoutFromASDOut |
( |
const TGCChannelASDOut * |
asdout, |
|
|
TGCIdBase::SideType & |
side, |
|
|
int & |
rodId, |
|
|
int & |
sswId, |
|
|
int & |
sbLoc, |
|
|
int & |
channel, |
|
|
bool |
orChannel = false |
|
) |
| const |
Definition at line 582 of file TGCCabling.cxx.
600 if(!slbin)
return false;
603 TGCModuleSLB* slb =
dynamic_cast<TGCModuleSLB*
>(slbin->getModule());
605 if(!slb)
return false;
◆ getReadoutFromHighPtID()
bool MuonTGC_Cabling::TGCCabling::getReadoutFromHighPtID |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int & |
sswId, |
|
|
int & |
sbLoc, |
|
|
int & |
channel, |
|
|
TGCIdBase::SignalType |
signal, |
|
|
TGCIdBase::RegionType |
region, |
|
|
int |
sectorInReadout, |
|
|
int |
hpbId, |
|
|
int |
block, |
|
|
int |
hitId, |
|
|
int |
pos, |
|
|
TGCIdBase::ModuleType |
moduleType, |
|
|
bool |
orChannel |
|
) |
| const |
Definition at line 351 of file TGCCabling.cxx.
373 int readoutSector = (rodId -1);
374 int sector = sectorInReadout;
390 TGCChannelHPBIn hpbin(
side,
397 if(!hpbin.isValid())
return false;
400 if(!slbout)
return 0;
401 if(!slbout->isValid()){
408 if(!slbin)
return false;
411 TGCModuleSLB* slb =
dynamic_cast<TGCModuleSLB*
>(slbin->getModule());
413 if(!slb)
return false;
◆ getReadoutFromLowPtCoincidence()
bool MuonTGC_Cabling::TGCCabling::getReadoutFromLowPtCoincidence |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int |
sswId, |
|
|
int |
sbLoc, |
|
|
int & |
channel, |
|
|
int |
block, |
|
|
int |
pos, |
|
|
bool |
middle = false |
|
) |
| const |
Definition at line 484 of file TGCCabling.cxx.
493 bool orChannel =
flag;
501 TGCChannelSLBOut slbout(slb->getSideType(),
502 slb->getModuleType(),
503 slb->getRegionType(),
511 if(!slbin)
return false;
◆ getReadoutFromSLB()
Definition at line 261 of file TGCCabling.cxx.
273 if(!slb)
return false;
276 side = slb->getSideType();
280 if(!sswMap)
return false;
283 TGCModuleId* ssw = sswMap->popModuleId(0);
285 if(!ssw)
return false;
289 sswId = ssw->getId();
293 sbLoc = slb->getSBLoc();
299 delete ssw; ssw =
nullptr;
303 TGCModuleSLB* pSlb=
nullptr;
305 const int size = slbMap->size();
307 pSlb =
dynamic_cast<TGCModuleSLB*
>(slbMap->moduleId(
i));
310 slb->getRegionType() == pSlb->getRegionType() &&
311 slb->getSector() == pSlb->getSector() &&
312 slb->getId() == pSlb->getId()){
313 if(slb->getModuleType() == pSlb->getModuleType()) {
314 sbLoc = pSlb->getSBLoc();
320 sbLoc = pSlb->getSBLoc();
336 if(!rodMap)
return false;
339 TGCModuleId*
rod = rodMap->popModuleId(0);
341 if(!
rod)
return false;
344 rodId =
rod->getId();
◆ getRxIdFromReadout()
int MuonTGC_Cabling::TGCCabling::getRxIdFromReadout |
( |
TGCIdBase::SideType |
side, |
|
|
int |
rodId, |
|
|
int |
sswId, |
|
|
int |
sbLoc |
|
) |
| const |
Definition at line 161 of file TGCCabling.cxx.
169 int readoutSector = rodId -1 ;
170 TGCModuleROD
rod(
side,readoutSector);
174 if(!sswMap)
return rxId;
176 TGCModuleId* ssw =
nullptr;
178 const int sswMapsize = sswMap->size();
179 for(
int i=0;
i<sswMapsize;
i++){
180 if((sswMap->moduleId(
i))->getId()==sswId){
181 ssw = sswMap->popModuleId(
i);
187 if(!
found || !ssw)
return rxId;
193 if(!slbMap)
return rxId;
195 TGCModuleSLB* slb=
nullptr;
197 const int slbMapsize = slbMap->size();
198 for(
int i=0;
i<slbMapsize;
i++){
199 slb =
dynamic_cast<TGCModuleSLB*
>(slbMap->moduleId(
i));
200 if(slb && slb->getSBLoc()== sbLoc){
201 rxId = slbMap->connector(
i);
◆ getSLBFromReadout()
Definition at line 85 of file TGCCabling.cxx.
90 std::scoped_lock lock (
m_mutex);
92 int indexFromReadoutWithoutChannel
95 = m_slbModuleIdMap.find(indexFromReadoutWithoutChannel);
96 if(
it!=m_slbModuleIdMap.end()) {
103 int readoutSector = rodId -1 ;
104 TGCModuleROD
rod(
side,readoutSector);
109 m_slbModuleIdMap.insert(std::pair<int, TGCModuleId*>(indexFromReadoutWithoutChannel, 0));
113 TGCModuleId* ssw =
nullptr;
115 const int sswMapsize = sswMap->size();
116 for(
int i=0;
i<sswMapsize;
i++){
117 if((sswMap->moduleId(
i))->getId()==sswId){
118 ssw = sswMap->popModuleId(
i);
125 m_slbModuleIdMap.insert(std::pair<int, TGCModuleId*>(indexFromReadoutWithoutChannel, 0));
134 m_slbModuleIdMap.insert(std::pair<int, TGCModuleId*>(indexFromReadoutWithoutChannel, 0));
138 TGCModuleSLB* slb=
nullptr;
140 const int slbMapsize = slbMap->size();
141 for(
int i=0;
i<slbMapsize;
i++){
142 slb =
dynamic_cast<TGCModuleSLB*
>(slbMap->moduleId(
i));
143 if(slb && slb->getSBLoc()== sbLoc){
145 slb =
dynamic_cast<TGCModuleSLB*
>(slbMap->popModuleId(
i));
152 m_slbModuleIdMap.insert(std::pair<int, TGCModuleId*>(indexFromReadoutWithoutChannel, 0));
156 m_slbModuleIdMap.insert(std::pair<int, TGCModuleId*>(indexFromReadoutWithoutChannel, slb));
◆ getSLBFromRxId()
Definition at line 211 of file TGCCabling.cxx.
219 int readoutSector = rodId -1 ;
220 TGCModuleROD
rod(
side,readoutSector);
224 if(!sswMap)
return nullptr;
226 TGCModuleId* ssw =
nullptr;
228 const int size = sswMap->size();
230 if((sswMap->moduleId(
i))->getId()==sswId){
231 ssw = sswMap->popModuleId(
i);
237 if(!
found || !ssw)
return nullptr;
243 if(!slbMap)
return nullptr;
245 TGCModuleSLB* slb=
nullptr;
246 int ip = slbMap->find(rxId);
247 if(ip <0 || ip >= slbMap->size()){
248 delete slbMap; slbMap =
nullptr;
251 slb =
dynamic_cast<TGCModuleSLB*
>(slbMap->popModuleId(
ip));
254 if(!slb)
return nullptr;
◆ operator=()
◆ updateCableASDToPP()
StatusCode MuonTGC_Cabling::TGCCabling::updateCableASDToPP |
( |
| ) |
|
◆ ATLAS_THREAD_SAFE
std::map<int, TGCModuleId*> m_slbModuleIdMap MuonTGC_Cabling::TGCCabling::ATLAS_THREAD_SAFE |
|
mutableprivate |
◆ m_cableASDToPP
◆ m_cableHPBToSL
◆ m_cableInASD
◆ m_cableInPP
◆ m_cableInSLB
◆ m_cablePPToSLB
◆ m_cableSLBToHPB
◆ m_cableSLBToSSW
◆ m_cableSSWToROD
◆ m_mutex
std::mutex MuonTGC_Cabling::TGCCabling::m_mutex |
|
mutableprivate |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
TGCChannelId * getChannel(const TGCChannelId *channelId, TGCIdBase::ChannelIdType type, bool orChannel=false) const
TGCCableSSWToROD * m_cableSSWToROD
TGCCableInASD * m_cableInASD
TGCCableInPP * m_cableInPP
TGCCableSLBToHPB * m_cableSLBToHPB
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
bool getReadoutFromSLB(const TGCModuleSLB *slb, TGCIdBase::SideType &side, int &rodId, int &sswId, int &sbLoc) const
TGCCableSLBToSSW * m_cableSLBToSSW
TGCChannelId * getChannelInforHPB(const TGCChannelId *hpbin, TGCIdBase::ModuleType moduleType, bool orChannel=false) const
int getIndexFromReadoutWithoutChannel(const TGCIdBase::SideType side, const int rodId, const int sswId, const int sbLoc) const
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
TGCCableHPBToSL * m_cableHPBToSL
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
TGCCableASDToPP * m_cableASDToPP
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
TGCModuleMap * getModule(const TGCModuleId *moduleId, TGCModuleId::ModuleIdType type) const
StatusCode updateDatabase()
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
TGCCablePPToSLB * m_cablePPToSLB
TGCCableInSLB * m_cableInSLB
const TGCModuleId * getSLBFromReadout(TGCIdBase::SideType side, int rodId, int sswId, int sbLoc) const
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
virtual TGCChannelId * getChannel(const TGCChannelId *channelId, bool orChannel=false) const
virtual TGCModuleMap * getModule(const TGCModuleId *moduleId) const