ATLAS Offline Software
EfexHardwareInfo.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #include <iostream>
7 :m_valid(false), m_efexlabel("invalid") , m_fibre(-1), m_inputconnector(-1),
8 m_mpodlabel("invalid")
9 {
10 }
11 EfexHardwareInfo::EfexHardwareInfo(const std::string & efexlabel,
12  int fibre,
13  int inputconnector,
14  const std::string & mpod)
15 :m_valid(true), m_efexlabel(efexlabel) , m_fibre(fibre), m_inputconnector(inputconnector),
16 m_mpodlabel(mpod),m_overlap(-99)
17 {
18 }
19 std::string EfexHardwareInfo::getEFEXLabel() const
20 {
21  return m_efexlabel;
22 }
24 {
25  return m_fibre;
26 }
28 {
29  return 11-(m_fibre)%12; // Ribbon fibre # flip (hopefully right!)
30 }
32 {
33  return m_inputconnector;
34 }
36 {
37  int mpodnum = int(m_mpodlabel.at(1)) -48;
38  if (m_mpodlabel.at(0) == 'H') mpodnum += 10;
39  return mpodnum;
40 }
41 std::string EfexHardwareInfo::getMpodLabel() const
42 {
43  return m_mpodlabel;
44 }
46 {
47  return m_valid;
48 }
50 {
51  m_overlap = overlap;
52 }
54 {
55  return m_overlap;
56 }
58 {
59  std::cout << "EfexHardwareInfo Object:" << std::endl;
60  if(m_valid){
61  std::cout << "EFEX: " << this->getEFEXLabel() << std::endl;
62  std::cout << "Fibre: " << std::to_string(this->getFibreNumber()) << std::endl;
63  std::cout << "Input Connector: " << std::to_string(this->getInputConnector()) << std::endl;
64  std::cout << "MpodLabel: " << this->getMpodLabel() << std::endl;
65  }
66  else{
67  std::cout << "Invalid/Unused Connection" << std::endl;
68  }
69  std::cout << std::endl;
70 }
EfexHardwareInfo::getMpodNumber
int getMpodNumber() const
Definition: EfexHardwareInfo.cxx:35
EfexHardwareInfo::getMpodLabel
std::string getMpodLabel() const
Definition: EfexHardwareInfo.cxx:41
EfexHardwareInfo::m_efexlabel
std::string m_efexlabel
Definition: EfexHardwareInfo.h:33
EfexHardwareInfo::m_valid
bool m_valid
Definition: EfexHardwareInfo.h:32
EfexHardwareInfo::getEFEXLabel
std::string getEFEXLabel() const
Definition: EfexHardwareInfo.cxx:19
EfexHardwareInfo.h
MuonR4::to_string
std::string to_string(const SectorProjector proj)
Definition: MsTrackSeeder.cxx:66
EfexHardwareInfo::EfexHardwareInfo
EfexHardwareInfo()
Definition: EfexHardwareInfo.cxx:6
EfexHardwareInfo::m_fibre
int m_fibre
Definition: EfexHardwareInfo.h:34
EfexHardwareInfo::m_overlap
int m_overlap
Definition: EfexHardwareInfo.h:37
EfexHardwareInfo::getInputConnector
int getInputConnector() const
Definition: EfexHardwareInfo.cxx:31
EfexHardwareInfo::getFibreNumber
int getFibreNumber() const
Definition: EfexHardwareInfo.cxx:23
EfexHardwareInfo::getRibbonFibreNumber
int getRibbonFibreNumber() const
Definition: EfexHardwareInfo.cxx:27
EfexHardwareInfo::m_inputconnector
int m_inputconnector
Definition: EfexHardwareInfo.h:35
EfexHardwareInfo::printInfo
void printInfo() const
Definition: EfexHardwareInfo.cxx:57
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
EfexHardwareInfo::getValidity
bool getValidity() const
Definition: EfexHardwareInfo.cxx:45
EfexHardwareInfo::setOverlap
void setOverlap(int overlap)
Definition: EfexHardwareInfo.cxx:49
EfexHardwareInfo::m_mpodlabel
std::string m_mpodlabel
Definition: EfexHardwareInfo.h:36
EfexHardwareInfo::getOverlap
int getOverlap() const
Definition: EfexHardwareInfo.cxx:53