81 std::cout <<
"#TGCHighPtBoard::clockIn collect" << std::endl;
89 std::cout <<
"#TGCHighPtBoard::clockIn BID:" <<
m_bid
90 <<
" TYPE:" << ((
m_type==WHPB) ?
"WHPB" :
"SHPB" )
132 m_DSB[j][i]->eraseOutput();
138 m_TSB[j][i]->eraseOutput();
210 if(dataDSB->
getHit(block%2)){
211 int pos=dataDSB->
getPos(block%2);
212 int dev=dataDSB->
getDev(block%2);
237 block[iblock]=iblock;
245 }
else dev[iblock]=99;
254 while((i>=0)&&((abs(dev[i])>abs(
a))||((abs(dev[i])==abs(
a))&&(dev[i]!=
a)&&(
m_priorSign*dev[i]<0)))){
277 int highPt1stBlock, highPt2ndBlock;
278 int lowPt1stBlock, lowPt2ndBlock;
288 highPt1stBlock = iblock;
291 highPt2ndBlock = iblock;
305 lowPt1stBlock = iblock;
308 lowPt2ndBlock = iblock;
315 if (highPt1stBlock < 0){
316 if (lowPt1stBlock >= 0){
326 if (lowPt2ndBlock >= 0){
337 }
else if (highPt2ndBlock < 0){
347 if ((lowPt1stBlock >= 0) &&
359 }
else if ((lowPt2ndBlock >= 0) &&
419 int i,j,k, chip, iBlock, iCandidate;
420 std::cout <<
"#HighPtBoard::showResult()" << std::endl;
421 std::cout<<
"#HPB [Input] bid=" <<
m_bid;
423 std::cout <<
" type=" << ((
m_type==WHPB) ?
"WHPB" :
"SHPB" );
427 std::cout <<
" id=" <<
m_id << std::endl;
431 for( k=0; k<
m_TSBOut[i][j]->getNumberOfData(); k+=1)
439 std::cout <<
" id=" <<
m_TSBOut[i][j]->getOrigin()->getId();
441 std::cout <<
" iChip=" << i;
443 std::cout <<
" iTSBOut=" << j;
445 std::cout <<
" k=" << k;
447 std::cout <<
" pos=" <<
m_TSBOut[i][j]->getPos(k);
448 std::cout <<
"]" << std::endl;
452 for( k=0; k<
m_DSBOut[i][j]->getNumberOfData(); k+=1)
460 std::cout <<
" id=" <<
m_DSBOut[i][j]->getOrigin()->getId();
462 std::cout <<
" i=" << i;
464 std::cout <<
" j=" << j;
466 std::cout <<
" k=" << k;
468 std::cout <<
" pos=" <<
m_DSBOut[i][j]->getPos(k);
470 std::cout <<
" dev=" <<
m_DSBOut[i][j]->getDev(k);
471 std::cout <<
"]" << std::endl;
476 std::cout<<std::endl;
478 std::cout <<
"#HPB [Intermediate] bid=" <<
m_bid;
480 std::cout <<
" type=" << ((
m_type==WHPB) ?
"WHPB" :
"SHPB" );
484 std::cout <<
" id=" <<
m_id << std::endl;
488 std::cout <<
"iChip=" << chip <<
"]" << std::endl;
492 std::cout<<
"\t [highPtBoardOut: ";
494 std::cout <<
"block=" << iBlock;
501 std::cout <<
"]" << std::endl;
506 std::cout<<
"\t [lowPtBoardOut: ";
508 std::cout <<
"block=" << iBlock;
515 std::cout <<
"]" << std::endl;
519 std::cout <<
"#HPB [Output] bid=" <<
m_bid;
521 std::cout <<
" type=" << ((
m_type==WHPB) ?
"WHPB" :
"SHPB" );
525 std::cout <<
" id=" <<
m_id << std::endl;
529 std::cout <<
"iChip=" << chip <<
"]" << std::endl;
530 for( iCandidate=0; iCandidate<2; iCandidate+=1){
537 std::cout<<
" Pt:1[high]";
539 std::cout<<
" Pt:0[low ]";
544 std::cout <<
"]" << std::endl;
virtual void setDecoderIn()=0
void createHighPtBoardOut()
TGCHighPtBoardOut * m_lowPtBoardOut
TGCHighPtBoardOut * m_highPtBoardOut
virtual void clearDecoderIn()=0
static constexpr int s_NumberOfTSBOut
virtual void doCoincidenceMatrix(int chip, int block, const TGCHitPattern *tHit, const TGCHitPattern *dHit)=0
TGCHighPtChipOut * m_highPtChipOut
TGCSlaveBoard * m_DSB[NumberOfChip][s_NumberOfDSBOut]
virtual void decodeSlaveBoardOut(int chip, TGCHitPattern *tHit, TGCHitPattern *dHit)=0
TGCSlaveBoard * m_TSB[NumberOfChip][s_NumberOfTSBOut]
static constexpr int s_NumberOfDSBOut
void deleteSlaveBoardOut()
virtual void highLowSelector(int chip)
void loadLowPtOutput(int chip, int block, TGCSlaveBoardOut *dataDSB)
TGCSlaveBoardOut * m_DSBOut[NumberOfChip][s_NumberOfDSBOut]
TGCSlaveBoardOut * getTSBOut(int chip, int port)
void createHighPtChipOut()
virtual ~TGCHighPtBoard()
TGCSlaveBoardOut * m_decoderInTSB[NumberOfChip][NDecoderInTSB]
TGCHighPtChipOut * getOutput()
TGCHighPtBoard * m_adjacentHPB[NumberOfAdjacentHPB]
TGCSlaveBoardOut * m_TSBOut[NumberOfChip][s_NumberOfTSBOut]
void createLowPtBoardOut()
void trackSelector(int chip, int ptIn)
TGCRegionType getRegion() const
TGCSlaveBoardOut * m_decoderInDSB[NumberOfChip][NDecoderInDSB]
bool getHit(int iData) const
int getPos(int iData) const
int getDev(int iData) const
const int NumberOfAdjacentHPB
const int NBlockOfDSBChannel