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

#include <TGCCableSSWToROD.h>

Inheritance diagram for MuonTGC_Cabling::TGCCableSSWToROD:
Collaboration diagram for MuonTGC_Cabling::TGCCableSSWToROD:

Public Types

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

Public Member Functions

 TGCCableSSWToROD (const std::string &filename)
 TGCCableSSWToROD (const TGCCableSSWToROD &)
TGCCableSSWToRODoperator= (const TGCCableSSWToROD &)
virtual ~TGCCableSSWToROD ()=default
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

 TGCCableSSWToROD ()
virtual TGCModuleMapgetModuleIn (const TGCModuleId *rod) const
virtual TGCModuleMapgetModuleOut (const TGCModuleId *ssw) const

Private Attributes

std::unique_ptr< TGCDatabasem_database {nullptr}
CableType m_type

Detailed Description

Definition at line 17 of file TGCCableSSWToROD.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

◆ TGCCableSSWToROD() [1/3]

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

Definition at line 13 of file TGCCableSSWToROD.cxx.

15 m_database(std::make_unique<TGCDatabaseSLBToROD>(filename, "SSW ALL")) {
16}
std::unique_ptr< TGCDatabase > m_database
TGCCable(CableType type=NoCableType)
Definition TGCCable.h:24

◆ TGCCableSSWToROD() [2/3]

MuonTGC_Cabling::TGCCableSSWToROD::TGCCableSSWToROD ( const TGCCableSSWToROD & right)

Definition at line 18 of file TGCCableSSWToROD.cxx.

20 if (auto mypointer = dynamic_cast<TGCDatabaseSLBToROD*>(right.m_database.get())) {
21 m_database = std::make_unique<TGCDatabaseSLBToROD>(*mypointer);
22 } else {
23 m_database.reset();
24 }
25}

◆ ~TGCCableSSWToROD()

virtual MuonTGC_Cabling::TGCCableSSWToROD::~TGCCableSSWToROD ( )
virtualdefault

◆ TGCCableSSWToROD() [3/3]

MuonTGC_Cabling::TGCCableSSWToROD::TGCCableSSWToROD ( )
inlineprivate

Definition at line 27 of file TGCCableSSWToROD.h.

27{}

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::TGCCableSSWToROD::getModule ( const TGCModuleId * moduleId) const
virtual

Definition at line 38 of file TGCCableSSWToROD.cxx.

38 {
39 if(moduleId){
40 if(moduleId->getModuleIdType()==TGCModuleId::SSW)
41 return getModuleOut(moduleId);
42 if(moduleId->getModuleIdType()==TGCModuleId::ROD)
43 return getModuleIn(moduleId);
44 }
45 return nullptr;
46}
virtual TGCModuleMap * getModuleIn(const TGCModuleId *rod) const
virtual TGCModuleMap * getModuleOut(const TGCModuleId *ssw) const

◆ getModuleIn()

TGCModuleMap * MuonTGC_Cabling::TGCCableSSWToROD::getModuleIn ( const TGCModuleId * rod) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 48 of file TGCCableSSWToROD.cxx.

48 {
49 if(!rod->isValid()) return nullptr;
50
51 const TGCId::SideType rodSideType = rod->getSideType();
52 const int rodReadoutSector = rod->getReadoutSector();
53
54 TGCModuleMap* mapId = nullptr;
55 const int MaxEntry = m_database->getMaxEntry();
56 for(int i=0; i<MaxEntry; i++){
57 int id = m_database->getEntry(i,0);
58 int block = m_database->getEntry(i,1);
59 TGCModuleSSW* ssw = new TGCModuleSSW(rodSideType,
60 rodReadoutSector,
61 id);
62 if(mapId==nullptr) mapId = new TGCModuleMap();
63 mapId->insert(block,ssw);
64 }
65 return mapId;
66}

◆ getModuleOut()

TGCModuleMap * MuonTGC_Cabling::TGCCableSSWToROD::getModuleOut ( const TGCModuleId * ssw) const
privatevirtual

Reimplemented from MuonTGC_Cabling::TGCCable.

Definition at line 68 of file TGCCableSSWToROD.cxx.

68 {
69 if(!ssw->isValid()) return nullptr;
70
71 const int sswId = ssw->getId();
72
73 TGCModuleMap* mapId = nullptr;
74 const int MaxEntry = m_database->getMaxEntry();
75 for(int i=0; i<MaxEntry; i++){
76 if(m_database->getEntry(i,0)==sswId){
77 int block = m_database->getEntry(i,1);
78 TGCModuleROD* rod = new TGCModuleROD(ssw->getSideType(),
79 ssw->getReadoutSector());
80 mapId = new TGCModuleMap();
81 mapId->insert(block,rod);
82 break;
83 }
84 }
85 return mapId;
86}

◆ operator=()

TGCCableSSWToROD & MuonTGC_Cabling::TGCCableSSWToROD::operator= ( const TGCCableSSWToROD & right)

Definition at line 27 of file TGCCableSSWToROD.cxx.

27 {
28 if (this != &right) {
29 if (auto mypointer = dynamic_cast<TGCDatabaseSLBToROD*>(right.m_database.get())) {
30 m_database = std::make_unique<TGCDatabaseSLBToROD>(*mypointer);
31 } else {
32 m_database.reset();
33 }
34 }
35 return *this;
36}

Member Data Documentation

◆ m_database

std::unique_ptr<TGCDatabase> MuonTGC_Cabling::TGCCableSSWToROD::m_database {nullptr}
private

Definition at line 30 of file TGCCableSSWToROD.h.

30{nullptr};

◆ 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: