ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
LVL1TGCTrigger::TGCConnectionPPToSL Class Reference

#include <TGCConnectionPPToSL.h>

Collaboration diagram for LVL1TGCTrigger::TGCConnectionPPToSL:

Public Member Functions

 TGCConnectionPPToSL ()
 
 TGCConnectionPPToSL (const TGCConnectionPPToSL &)
 
virtual ~TGCConnectionPPToSL ()
 
TGCConnectionPPToSLoperator= (const TGCConnectionPPToSL &)
 
bool readData (TGCRegionType type)
 
const TGCConnectionPPToSBgetPPToSB () const
 
const TGCConnectionSBToHPBgetSBToHPB () const
 
const TGCConnectionHPBToSLgetHPBToSL () const
 

Private Attributes

TGCConnectionPPToSB m_PPToSB
 
TGCConnectionSBToHPB m_SBToHPB
 
TGCConnectionHPBToSL m_HPBToSL
 

Detailed Description

Definition at line 16 of file TGCConnectionPPToSL.h.

Constructor & Destructor Documentation

◆ TGCConnectionPPToSL() [1/2]

LVL1TGCTrigger::TGCConnectionPPToSL::TGCConnectionPPToSL ( )

Definition at line 15 of file TGCConnectionPPToSL.cxx.

15  :
16  m_PPToSB(),
17  m_SBToHPB(),
18  m_HPBToSL()
19 {
20 }

◆ TGCConnectionPPToSL() [2/2]

LVL1TGCTrigger::TGCConnectionPPToSL::TGCConnectionPPToSL ( const TGCConnectionPPToSL right)

Definition at line 22 of file TGCConnectionPPToSL.cxx.

22  :
23  m_PPToSB(right.m_PPToSB),
24  m_SBToHPB(right.m_SBToHPB),
25  m_HPBToSL(right.m_HPBToSL)
26 {
27 }

◆ ~TGCConnectionPPToSL()

virtual LVL1TGCTrigger::TGCConnectionPPToSL::~TGCConnectionPPToSL ( )
inlinevirtual

Definition at line 21 of file TGCConnectionPPToSL.h.

21 {};

Member Function Documentation

◆ getHPBToSL()

const TGCConnectionHPBToSL* LVL1TGCTrigger::TGCConnectionPPToSL::getHPBToSL ( ) const
inline

Definition at line 27 of file TGCConnectionPPToSL.h.

27 { return &m_HPBToSL; }

◆ getPPToSB()

const TGCConnectionPPToSB* LVL1TGCTrigger::TGCConnectionPPToSL::getPPToSB ( ) const
inline

Definition at line 25 of file TGCConnectionPPToSL.h.

25 { return &m_PPToSB; }

◆ getSBToHPB()

const TGCConnectionSBToHPB* LVL1TGCTrigger::TGCConnectionPPToSL::getSBToHPB ( ) const
inline

Definition at line 26 of file TGCConnectionPPToSL.h.

26 { return &m_SBToHPB; }

◆ operator=()

TGCConnectionPPToSL & LVL1TGCTrigger::TGCConnectionPPToSL::operator= ( const TGCConnectionPPToSL right)

Definition at line 30 of file TGCConnectionPPToSL.cxx.

31 {
32  if (this != &right) {
33  m_PPToSB = right.m_PPToSB;
34  m_SBToHPB = right.m_SBToHPB;
35  m_HPBToSL = right.m_HPBToSL;
36  }
37  return *this;
38 }

◆ readData()

bool LVL1TGCTrigger::TGCConnectionPPToSL::readData ( TGCRegionType  type)

! assume id = index

! assume id = index

Definition at line 40 of file TGCConnectionPPToSL.cxx.

41 {
42  std::string fn = TGCDatabaseManager::getFilename(2); // PP2SL.db
43  std::string fullpath = PathResolver::find_file(fn, "PWD");
44  if (fullpath.length() == 0)
45  fullpath = PathResolver::find_file(fn, "DATAPATH");
46  std::ifstream inputfile(fullpath.c_str(), std::ios::in);
47 
48  static constexpr int BufferSize = 512;
49  char buf[BufferSize];
50 
51  // find entries match in region type
52  bool isMatched = false;
53  while (inputfile && inputfile.getline(buf,BufferSize)) {
54  std::istringstream line(buf);
55 
56  std::string region;
57  line >> region ;
58  isMatched = (region == "Endcap" && type == TGCRegionType::ENDCAP) ||
59  (region == "Forward" && type == TGCRegionType::FORWARD);
60  if (isMatched) break;
61  }
62  if (!isMatched) return false;
63 
64  // read entries for HighPtBoard
65  if (inputfile.getline(buf, BufferSize)) {
66  std::istringstream infileStr(buf);
67  std::string boardName;
68  infileStr >> boardName;
69 
70  for (int itype=0; itype < m_HPBToSL.getNumberOfType(); itype++) {
71  int board_number{0};
72  infileStr >> board_number;
73  m_HPBToSL.setNumber(itype, board_number);
74  for (int j=0; j < board_number; j++) {
75  inputfile.getline(buf, BufferSize);
76  std::istringstream infileStr2(buf);
77  int id, port;
78  infileStr2 >> id >> port;
79  m_HPBToSL.setId(itype, j, id);
80  m_HPBToSL.setSLPortToHPB(itype, id, port);
81  }
82  }
83  }
84 
85  // read entries for SlaveBoard
86  if (inputfile.getline(buf, BufferSize)) {
87  std::istringstream infileStr(buf);
88  std::string boardName;
89  infileStr >> boardName;
90 
91  for (int itype=0; itype < m_SBToHPB.getNumberOfType(); itype++) {
92  // No HPT board for Inner
93  if (itype == WISB || itype == SISB) continue;
94  int board_number{0};
95  infileStr >> board_number;
96  m_SBToHPB.setNumber(itype, board_number);
97  for (int j=0; j < board_number; j++) {
98  inputfile.getline(buf, BufferSize);
99  std::istringstream infileStr2(buf);
100  int id, idHPB, port;
101  infileStr2 >> id >> idHPB >> port;
102  if (id < 0 || idHPB < 0 || port < 0) continue;
103  m_SBToHPB.setId(itype, j, id); // BoardType, Number in a type, id
104  m_SBToHPB.setHPBIdToSB(itype, id, idHPB);
105  m_SBToHPB.setHPBPortToSB(itype, id, port);
106  }
107  }
108  }
109 
110  // read entries for PatchPanel
111  if (inputfile.getline(buf, BufferSize)) {
112  std::istringstream infileStr(buf);
113  std::string boardName;
114  infileStr >> boardName;
115 
116  for (int itype=0; itype < m_PPToSB.getNumberOfType(); itype++) {
117  int board_number{0};
118  infileStr >> board_number;
119  m_PPToSB.setNumber(itype, board_number);
120  for(int j=0; j<board_number; j++) {
121  inputfile.getline(buf, BufferSize);
122  std::istringstream infileStr2(buf);
123  int id{0}; // PP ID
124  int idSB1{0}; // SB ID for Part0
125  int idSB2{0}; // SB ID for Part1
126  infileStr2 >> id >> idSB1 >> idSB2;
127  m_PPToSB.setId(itype, j, id);
128  m_PPToSB.setSBIdToPP(itype, 0, j, idSB1);
129  m_PPToSB.setSBIdToPP(itype, 1, j, idSB2);
130  }
131  }
132  }
133 
134  return true;
135 }

Member Data Documentation

◆ m_HPBToSL

TGCConnectionHPBToSL LVL1TGCTrigger::TGCConnectionPPToSL::m_HPBToSL
private

Definition at line 32 of file TGCConnectionPPToSL.h.

◆ m_PPToSB

TGCConnectionPPToSB LVL1TGCTrigger::TGCConnectionPPToSL::m_PPToSB
private

Definition at line 30 of file TGCConnectionPPToSL.h.

◆ m_SBToHPB

TGCConnectionSBToHPB LVL1TGCTrigger::TGCConnectionPPToSL::m_SBToHPB
private

Definition at line 31 of file TGCConnectionPPToSL.h.


The documentation for this class was generated from the following files:
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
checkFileSG.line
line
Definition: checkFileSG.py:75
LVL1TGCTrigger::TGCBoardConnection::setNumber
void setNumber(const unsigned int type, int nBoard)
Definition: TGCBoardConnection.cxx:27
StateLessPT_NewConfig.BufferSize
BufferSize
Definition: StateLessPT_NewConfig.py:370
LVL1TGCTrigger::SISB
@ SISB
Definition: TGCNumbering.h:57
PathResolver::find_file
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
Definition: PathResolver.cxx:251
InDetSecVtxTruthMatchUtils::isMatched
bool isMatched(int matchInfo)
Definition: InDetSecVtxTruthMatchTool.h:48
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::TGCConnectionPPToSL::m_SBToHPB
TGCConnectionSBToHPB m_SBToHPB
Definition: TGCConnectionPPToSL.h:31
LVL1TGCTrigger::TGCBoardConnection::getNumberOfType
int getNumberOfType() const
Definition: TGCBoardConnection.h:21
LVL1TGCTrigger::TGCDatabaseManager::getFilename
static std::string getFilename(int type)
Definition: TGCDatabaseManager.cxx:239
python.getCurrentFolderTag.fn
fn
Definition: getCurrentFolderTag.py:65
LVL1TGCTrigger::TGCConnectionPPToSL::m_HPBToSL
TGCConnectionHPBToSL m_HPBToSL
Definition: TGCConnectionPPToSL.h:32
python.DecayParser.buf
buf
print ("=> [%s]"cmd)
Definition: DecayParser.py:27
LVL1TGCTrigger::WISB
@ WISB
Definition: TGCNumbering.h:57
LVL1TGCTrigger::TGCBoardConnection::setId
void setId(const unsigned int type, const unsigned int board, int idIn)
Definition: TGCBoardConnection.cxx:36
LVL1TGCTrigger::TGCConnectionPPToSB::setSBIdToPP
void setSBIdToPP(int type, int port, int index, int idIn)
Definition: TGCConnectionPPToSB.h:40
LVL1TGCTrigger::TGCConnectionSBToHPB::setHPBPortToSB
void setHPBPortToSB(int type, int index, int port)
Definition: TGCConnectionSBToHPB.h:38
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
LVL1TGCTrigger::TGCConnectionSBToHPB::setHPBIdToSB
void setHPBIdToSB(int type, int index, int id)
Definition: TGCConnectionSBToHPB.h:49
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
FullCPAlgorithmsTest_CA.inputfile
dictionary inputfile
Definition: FullCPAlgorithmsTest_CA.py:59
LVL1TGCTrigger::TGCConnectionHPBToSL::setSLPortToHPB
void setSLPortToHPB(int type, int index, int port)
Definition: TGCConnectionHPBToSL.h:36
LVL1TGCTrigger::TGCConnectionPPToSL::m_PPToSB
TGCConnectionPPToSB m_PPToSB
Definition: TGCConnectionPPToSL.h:30
beamspotman.fullpath
string fullpath
Definition: beamspotman.py:1039