20 for(
int i=0; i<2; i++)
m_bdev[i]=0;
47 for(
int i=0; i<2; i++) {
86 for(
int i=0; i<2; i++)
m_bdev[i]=0;
117 for(
int i=0; i<2; i++)
m_bdev[i]=0;
141 std::cerr <<
"TGCSlaveBoardOut::setbDev : illegal block "
143 <<
" block=" << block << std::endl;
147 std::cerr <<
"TGCSlaveBoardOut::setbDev : illegal Type "
149 <<
" block=" << block << std::endl;
157 std::cout <<
":" << dr <<
" TGCSlaveBoardOut::setbDev" << std::endl;
160 m_bdev[block]->setChannel(0,
true);
162 m_bdev[block]->setChannel(0,
false);
164 m_bdev[block]->push_back(&tmp);
167 std::cout << std::endl;
174 std::cerr <<
"internal error TGCSlaveBoardOut::setPos()" << std::endl;
176 m_pos[iData] = posIn;
197 std::cout<<
" SlaveBoardOut:";
203 std::cout<<
" SBType:" <<
"WTSB";
206 std::cout<<
" SBType:" <<
"WDSB";
209 std::cout<<
" SBType:" <<
"STSB";
212 std::cout<<
" SBType:" <<
"SDSB";
215 std::cout<<
" bid:" <<
m_bid;
217 if(
m_hit[OutPutBlock]) std::cout <<
" [OutPutBlock=" << OutPutBlock <<
" x=" <<
m_pos[OutPutBlock] <<
" d=" <<
m_dev[OutPutBlock] <<
"]";
218 std::cout<<std::endl;
226 std::cout <<
" bit pattern [OutPutBlock=" << OutPutBlock <<
" x=";
227 m_bpos[OutPutBlock]->printb();
231 m_bdev[OutPutBlock]->printb();
236 if(
count)std::cout<<std::endl;
247 std::cout<<
" SlaveBoardOut:";
254 std::cout<<
" SBType:" <<
"WTSB";
259 std::cout<<
" SBType:" <<
"WDSB";
264 std::cout<<
" SBType:" <<
"STSB";
269 std::cout<<
" SBType:" <<
"SDSB";
274 std::cout<<
" bid:" <<
m_bid;
275 if(
m_hit[OutPutBlock]) std::cout <<
" [OutPutBlock=" << OutPutBlock <<
" x=" <<
m_pos[OutPutBlock] <<
" d=" <<
m_dev[OutPutBlock] <<
"]";
279 std::cout <<
" bit pattern [OutPutBlock=" << OutPutBlock <<
" x=";
280 m_bpos[OutPutBlock]->printb();
284 m_bdev[OutPutBlock]->printb();
288 std::cout<<std::endl;
302 *ofs <<
"#SlaveBoardOut:";
308 *ofs <<
" SBType:" <<
"WTSB";
311 *ofs <<
" SBType:" <<
"WDSB";
314 *ofs <<
" SBType:" <<
"STSB";
317 *ofs <<
" SBType:" <<
"SDSB";
320 *ofs <<
" bid:" <<
m_bid;
324 *ofs <<
" [OutPutBlock=" << OutPutBlock <<
"/" <<
m_numberOfData-1 <<
" x=" <<
m_pos[OutPutBlock] <<
" d=" <<
m_dev[OutPutBlock] <<
"]";
325 *ofs <<
"[OutPutBlock=" << OutPutBlock <<
" x=";
326 m_bpos[OutPutBlock]->printb(ofs);
330 m_bdev[OutPutBlock]->printb(ofs);
339 if(!(
m_hit[OutPutBlock] &&
m_bpos[OutPutBlock]))
return;
341 *ofs <<
"#SlaveBoardOut:";
347 *ofs <<
" SBType:" <<
"WTSB";
350 *ofs <<
" SBType:" <<
"WDSB";
353 *ofs <<
" SBType:" <<
"STSB";
356 *ofs <<
" SBType:" <<
"SDSB";
359 *ofs <<
" bid:" <<
m_bid;
362 *ofs <<
" [OutPutBlock=" << OutPutBlock <<
" x=" <<
m_pos[OutPutBlock] <<
" d=" <<
m_dev[OutPutBlock] <<
"]";
363 *ofs <<
"[OutPutBlock=" << OutPutBlock;
365 m_bpos[OutPutBlock]->printb(ofs);
369 m_bdev[OutPutBlock]->printb(ofs);
388 m_bpos[OutPutBlock]->printb(ofs);
392 m_bdev[OutPutBlock]->printb(ofs);
399 *ofs <<
" 00000 0000";
421 m_bpos[OutPutBlock]->printb(ofs);
425 m_bdev[OutPutBlock]->printb(ofs);
432 *ofs <<
" 00000 0000";
bool m_hit[s_MaxNumberOfSBData]
TGCHitPattern * m_bpos[s_MaxNumberOfSBData]
const TGCSlaveBoard * m_origin
static constexpr int s_MaxNumberOfSBData
int m_dev[s_MaxNumberOfSBData]
TGCSlaveBoardOut & operator=(const TGCSlaveBoardOut &)
TGCSlaveBoardOut(const TGCSlaveBoard *sb, int bidIn)
int m_pos[s_MaxNumberOfSBData]
TGCHitPattern * m_bdev[2]
void setPos(int iData, int posIn)
void printpattern(std::ofstream *ofs) const
void setbDev(int block, int sign, int dr)
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string
const int TotalNumberOfOutputData[6]