Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
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 }

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

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

◆ 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:
MuonTGC_Cabling::TGCCableSSWToROD::getModuleOut
virtual TGCModuleMap * getModuleOut(const TGCModuleId *ssw) const
Definition: TGCCableSSWToROD.cxx:68
MuonTGC_Cabling::TGCCable::NoCableType
@ NoCableType
Definition: TGCCable.h:18
MuonTGC_Cabling::TGCCable::InASD
@ InASD
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCModuleId::ROD
@ ROD
Definition: TGCModuleId.h:16
MuonTGC_Cabling::TGCCable::PPToSLB
@ PPToSLB
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCCable::TGCCable
TGCCable(CableType type=NoCableType)
Definition: TGCCable.h:24
MuonTGC_Cabling::TGCModuleId::SSW
@ SSW
Definition: TGCModuleId.h:16
MuonTGC_Cabling::TGCCable::ASDToPP
@ ASDToPP
Definition: TGCCable.h:19
MuonTGC_Cabling::TGCCable::InSLB
@ InSLB
Definition: TGCCable.h:19
lumiFormat.i
int i
Definition: lumiFormat.py:85
MuonTGC_Cabling::TGCCable::MaxCableType
@ MaxCableType
Definition: TGCCable.h:21
MuonTGC_Cabling::TGCCable::m_type
CableType m_type
Definition: TGCCable.h:43
MuonTGC_Cabling::TGCCable::SLBToSSW
@ SLBToSSW
Definition: TGCCable.h:20
RunTileMonitoring.rod
rod
Definition: RunTileMonitoring.py:134
MuonTGC_Cabling::TGCCable::HPBToSL
@ HPBToSL
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCCableSSWToROD::m_database
std::unique_ptr< TGCDatabase > m_database
Definition: TGCCableSSWToROD.h:30
MuonTGC_Cabling::TGCCable::SSWToROD
@ SSWToROD
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCCable::SLBToHPB
@ SLBToHPB
Definition: TGCCable.h:20
MuonTGC_Cabling::TGCCable::InPP
@ InPP
Definition: TGCCable.h:19
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
MuonTGC_Cabling::TGCId::SideType
SideType
Definition: TGCId.h:45
MuonTGC_Cabling::TGCCableSSWToROD::getModuleIn
virtual TGCModuleMap * getModuleIn(const TGCModuleId *rod) const
Definition: TGCCableSSWToROD.cxx:48