ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTGC_Cabling::TGCCableHPBToSL Class Reference

#include <TGCCableHPBToSL.h>

Inheritance diagram for MuonTGC_Cabling::TGCCableHPBToSL:
Collaboration diagram for MuonTGC_Cabling::TGCCableHPBToSL:

Public Types

enum  CableType {
  NoCableType =-1 , InASD , ASDToPP , InPP ,
  PPToSLB , InSLB , SLBToHPB , HPBToSL ,
  SLBToSSW , SSWToROD , MaxCableType
}

Public Member Functions

 TGCCableHPBToSL (const std::string &filename)
virtual ~TGCCableHPBToSL ()
virtual TGCModuleMapgetModule (const TGCModuleId *moduleId) const
CableType getCableType (void) const

Protected Member Functions

virtual TGCChannelIdgetChannelIn (const TGCChannelId *, bool) const
virtual TGCChannelIdgetChannelOut (const TGCChannelId *, bool) const

Private Member Functions

 TGCCableHPBToSL ()=delete
virtual TGCModuleMapgetModuleIn (const TGCModuleId *sl) const
virtual TGCModuleMapgetModuleOut (const TGCModuleId *hpt) const

Private Attributes

std::array< std::array< std::unique_ptr< TGCDatabase >, TGCId::MaxSignalType >, TGCId::MaxRegionTypem_database
CableType m_type

Detailed Description

Definition at line 20 of file TGCCableHPBToSL.h.

Member Enumeration Documentation

◆ CableType

Enumerator
NoCableType 
InASD 
ASDToPP 
InPP 
PPToSLB 
InSLB 
SLBToHPB 
HPBToSL 
SLBToSSW 
SSWToROD 
MaxCableType 

Definition at line 18 of file TGCCable.h.

Constructor & Destructor Documentation

◆ TGCCableHPBToSL() [1/2]

MuonTGC_Cabling::TGCCableHPBToSL::TGCCableHPBToSL ( const std::string & filename)

Definition at line 13 of file TGCCableHPBToSL.cxx.

15 m_database{{{nullptr}}}
16{
17 m_database[TGCId::Endcap][TGCId::Wire] = std::make_unique<TGCDatabasePPToSL>(filename,"HPB EW");
18 m_database[TGCId::Endcap][TGCId::Strip] = std::make_unique<TGCDatabasePPToSL>(filename,"HPB ES");
19 m_database[TGCId::Forward][TGCId::Wire] = std::make_unique<TGCDatabasePPToSL>(filename,"HPB FW");
20 m_database[TGCId::Forward][TGCId::Strip] = std::make_unique<TGCDatabasePPToSL>(filename,"HPB FS");
21}
std::array< std::array< std::unique_ptr< TGCDatabase >, TGCId::MaxSignalType >, TGCId::MaxRegionType > m_database
TGCCable(CableType type=NoCableType)
Definition TGCCable.h:24

◆ ~TGCCableHPBToSL()

MuonTGC_Cabling::TGCCableHPBToSL::~TGCCableHPBToSL ( )
virtualdefault

◆ TGCCableHPBToSL() [2/2]

MuonTGC_Cabling::TGCCableHPBToSL::TGCCableHPBToSL ( )
privatedelete

Member Function Documentation

◆ getCableType()

CableType MuonTGC_Cabling::TGCCable::getCableType ( void ) const
inlineinherited

Definition at line 30 of file TGCCable.h.

30{ return m_type; }

◆ getChannelIn()

virtual TGCChannelId * MuonTGC_Cabling::TGCCable::getChannelIn ( const TGCChannelId * ,
bool  ) const
inlineprotectedvirtualinherited

◆ getChannelOut()

virtual TGCChannelId * MuonTGC_Cabling::TGCCable::getChannelOut ( const TGCChannelId * ,
bool  ) const
inlineprotectedvirtualinherited

◆ getModule()

TGCModuleMap * MuonTGC_Cabling::TGCCableHPBToSL::getModule ( const TGCModuleId * moduleId) const
virtual

Definition at line 25 of file TGCCableHPBToSL.cxx.

25 {
26 if(moduleId){
27 if(moduleId->getModuleIdType()==TGCModuleId::HPB)
28 return getModuleOut(moduleId);
29 if(moduleId->getModuleIdType()==TGCModuleId::SL)
30 return getModuleIn(moduleId);
31 }
32 return nullptr;
33}
virtual TGCModuleMap * getModuleOut(const TGCModuleId *hpt) const
virtual TGCModuleMap * getModuleIn(const TGCModuleId *sl) const

◆ getModuleIn()

TGCModuleMap * MuonTGC_Cabling::TGCCableHPBToSL::getModuleIn ( const TGCModuleId * sl) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 35 of file TGCCableHPBToSL.cxx.

35 {
36 if(sl->isValid()==false) return nullptr;
37
38 TGCDatabase* wireP = m_database[sl->getRegionType()][TGCId::Wire].get();
39 TGCDatabase* stripP = m_database[sl->getRegionType()][TGCId::Strip].get();
40
41 TGCModuleMap* mapId = nullptr;
42 const int wireMaxEntry = wireP->getMaxEntry();
43 for(int i=0; i<wireMaxEntry; i++){
44 int id = wireP->getEntry(i,0);
45 int block = wireP->getEntry(i,1);
46 TGCModuleHPB* hpb = new TGCModuleHPB(sl->getSideType(),
48 sl->getRegionType(),
49 sl->getSector(),
50 id);
51 if(mapId==nullptr) mapId = new TGCModuleMap();
52 mapId->insert(block,hpb);
53 }
54
55 const int stripMaxEntry = stripP->getMaxEntry();
56 for(int i=0; i<stripMaxEntry; i++){
57 int id = stripP->getEntry(i,0);
58 int block = stripP->getEntry(i,1);
59 TGCModuleHPB* hpb = new TGCModuleHPB(sl->getSideType(),
61 sl->getRegionType(),
62 sl->getSector(),
63 id);
64 if(mapId==nullptr) mapId = new TGCModuleMap();
65 mapId->insert(block,hpb);
66 }
67
68 return mapId;
69}

◆ getModuleOut()

TGCModuleMap * MuonTGC_Cabling::TGCCableHPBToSL::getModuleOut ( const TGCModuleId * hpt) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 71 of file TGCCableHPBToSL.cxx.

71 {
72 if(hpb->isValid()==false) return nullptr;
73
74 const int hpbId = hpb->getId();
75
76 TGCDatabase* databaseP = m_database[hpb->getRegionType()][hpb->getSignalType()].get();
77
78 TGCModuleMap* mapId = nullptr;
79 const int MaxEntry = databaseP->getMaxEntry();
80 for(int i=0; i<MaxEntry; i++){
81 if(databaseP->getEntry(i,0)==hpbId)
82 {
83 int block = databaseP->getEntry(i,1);
84 TGCModuleSL* sl = new TGCModuleSL(hpb->getSideType(),
85 hpb->getRegionType(),
86 hpb->getSector());
87
88 mapId = new TGCModuleMap();
89 mapId->insert(block,sl);
90 break;
91 }
92 }
93
94 return mapId;
95}

Member Data Documentation

◆ m_database

std::array<std::array<std::unique_ptr<TGCDatabase>, TGCId::MaxSignalType>, TGCId::MaxRegionType> MuonTGC_Cabling::TGCCableHPBToSL::m_database
private

Definition at line 31 of file TGCCableHPBToSL.h.

◆ m_type

CableType MuonTGC_Cabling::TGCCable::m_type
privateinherited

Definition at line 43 of file TGCCable.h.


The documentation for this class was generated from the following files: