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

#include <TGCStripHighPtBoard.h>

Inheritance diagram for LVL1TGCTrigger::TGCStripHighPtBoard:
Collaboration diagram for LVL1TGCTrigger::TGCStripHighPtBoard:

Public Member Functions

 TGCStripHighPtBoard ()
 
virtual ~TGCStripHighPtBoard ()
 
void clockIn (int bidIn)
 
TGCHighPtChipOutgetOutput ()
 
void eraseOutput ()
 
int getId () const
 
void setId (int idIn)
 
int getType () const
 
void setType (int typeIn)
 
TGCRegionType getRegion () const
 
void setRegion (const TGCRegionType regionIn)
 
void setDSB (int connector, TGCSlaveBoard *SBIn)
 
void setTSB (int connector, TGCSlaveBoard *SBIn)
 
TGCSlaveBoardOutgetTSBOut (int chip, int port)
 
void setAdjacentHPB (int side, TGCHighPtBoard *hpt)
 
void showResult () const
 

Protected Member Functions

virtual void highLowSelector (int chip)
 
virtual void decodeSlaveBoardOut (int chip, TGCHitPattern *tHit, TGCHitPattern *dHit)
 
virtual void doCoincidenceMatrix (int chip, int block, const TGCHitPattern *tHit, const TGCHitPattern *dHit)
 
virtual void setDecoderIn ()
 
virtual void clearDecoderIn ()
 
TGCSlaveBoardOutdivideTSBOut (int iSet, TGCSlaveBoardOut *SBOut)
 
int getNonLinearDelta (int dev) const
 
void collectInput ()
 
void createHighPtChipOut ()
 
void createHighPtBoardOut ()
 
void createLowPtBoardOut ()
 
void doCoincidence ()
 
void trackSelector (int chip, int ptIn)
 
void deleteSlaveBoardOut ()
 
void loadLowPtOutput (int chip, int block, TGCSlaveBoardOut *dataDSB)
 
void eraseHighPtOutput ()
 
void eraseLowPtOutput ()
 

Protected Attributes

TGCHighPtChipOutm_highPtChipOut
 
TGCHighPtBoardOutm_highPtBoardOut
 
TGCHighPtBoardOutm_lowPtBoardOut
 
TGCSlaveBoardm_DSB [NumberOfChip][s_NumberOfDSBOut]
 
TGCSlaveBoardm_TSB [NumberOfChip][s_NumberOfTSBOut]
 
TGCSlaveBoardOutm_DSBOut [NumberOfChip][s_NumberOfDSBOut]
 
TGCSlaveBoardOutm_TSBOut [NumberOfChip][s_NumberOfTSBOut]
 
TGCHighPtBoardm_adjacentHPB [NumberOfAdjacentHPB]
 
TGCSlaveBoardOutm_decoderInTSB [NumberOfChip][NDecoderInTSB]
 
TGCSlaveBoardOutm_decoderInDSB [NumberOfChip][NDecoderInDSB]
 
int m_id
 
int m_bid
 
int m_idSectorLogic
 
int m_type
 
TGCRegionType m_region {TGCRegionType::FORWARD}
 
int m_priorSign
 
int m_maxNumberOfHPBData
 
int m_maxDev
 
int m_maxDevOred
 
int m_nChOfTSBOut
 
int m_nChOfDSBOut
 
int m_nChOfDSBHit
 
int m_nChOfTSBHit
 
int m_nChInTSBRegion
 

Static Private Attributes

static constexpr int s_NumberOfTSBOut = 2
 
static constexpr int s_NumberOfDSBOut = 3
 

Detailed Description

Definition at line 17 of file TGCStripHighPtBoard.h.

Constructor & Destructor Documentation

◆ TGCStripHighPtBoard()

LVL1TGCTrigger::TGCStripHighPtBoard::TGCStripHighPtBoard ( )

Definition at line 11 of file TGCStripHighPtBoard.cxx.

11  :
13 {
14  m_maxDev = 15;
15  m_maxDevOred = 20;
16  m_nChOfTSBOut = 64;
18  m_nChOfDSBOut = 64;
21 }

◆ ~TGCStripHighPtBoard()

virtual LVL1TGCTrigger::TGCStripHighPtBoard::~TGCStripHighPtBoard ( )
inlinevirtual

Definition at line 21 of file TGCStripHighPtBoard.h.

21 {};

Member Function Documentation

◆ clearDecoderIn()

void LVL1TGCTrigger::TGCStripHighPtBoard::clearDecoderIn ( )
protectedvirtual

Implements LVL1TGCTrigger::TGCHighPtBoard.

Definition at line 70 of file TGCStripHighPtBoard.cxx.

71 {
73  if(m_decoderInTSB[ChipA][0]) delete m_decoderInTSB[ChipA][0];
74  if(m_decoderInTSB[ChipA][1]) delete m_decoderInTSB[ChipA][1];
75  if(m_decoderInTSB[ChipA][2]) delete m_decoderInTSB[ChipA][2];
76  if(m_decoderInTSB[ChipB][0]) delete m_decoderInTSB[ChipB][0];
77  if(m_decoderInTSB[ChipB][1]) delete m_decoderInTSB[ChipB][1];
78  }
79  int chip,j;
80  for( chip=0; chip<NumberOfChip; chip+=1){
81  for( j=0; j<NDecoderInTSB; j+=1) m_decoderInTSB[chip][j]=0;
82  for( j=0; j<NDecoderInDSB; j+=1) m_decoderInDSB[chip][j]=0;
83  }
84 }

◆ clockIn()

void LVL1TGCTrigger::TGCHighPtBoard::clockIn ( int  bidIn)
inherited

Definition at line 77 of file TGCHighPtBoard.cxx.

78 {
79  if(m_bid!=bidIn){
80 #ifdef TGCCOUT
81  std::cout << "#TGCHighPtBoard::clockIn collect" << std::endl;
82 #endif
83  m_bid = bidIn;
85  collectInput();
86  return;
87  }else{
88 #ifdef TGCCOUT
89  std::cout << "#TGCHighPtBoard::clockIn BID:" << m_bid
90  << " TYPE:" << ((m_type==WHPB) ? "WHPB" : "SHPB" )
91  << " ID:" << m_id
92  << " REGION:" << ( (m_region==TGCRegionType::FORWARD) ? "FWD" : "END")
93  <<std::endl;
94 #endif
95  createHighPtChipOut(); //Feeds to SL
96  createHighPtBoardOut(); //Internal Use
97  createLowPtBoardOut(); //Internal Use
98  doCoincidence();
99  showResult();
102  }
103  return;
104 }

◆ collectInput()

void LVL1TGCTrigger::TGCHighPtBoard::collectInput ( )
protectedinherited

Definition at line 125 of file TGCHighPtBoard.cxx.

126 {
127  int i,j;
128  for( j=0; j<NumberOfChip; j+=1){
129  for( i=0; i<s_NumberOfDSBOut; i+=1)
130  if(m_DSB[j][i]){
131  m_DSBOut[j][i]=m_DSB[j][i]->getOutput();
132  m_DSB[j][i]->eraseOutput();
133  if(m_DSBOut[j][i]) m_DSBOut[j][i]->print();
134  }
135  for( i=0; i<s_NumberOfTSBOut; i+=1)
136  if(m_TSB[j][i]){
137  m_TSBOut[j][i]=m_TSB[j][i]->getOutput();
138  m_TSB[j][i]->eraseOutput();
139  if(m_TSBOut[j][i]) m_TSBOut[j][i]->print();
140  }
141  }
142 }

◆ createHighPtBoardOut()

void LVL1TGCTrigger::TGCHighPtBoard::createHighPtBoardOut ( )
protectedinherited

Definition at line 400 of file TGCHighPtBoard.cxx.

401 {
402  if( m_highPtBoardOut != 0 ) delete m_highPtBoardOut;
403  m_highPtBoardOut = new TGCHighPtBoardOut(this, m_bid);
405 }

◆ createHighPtChipOut()

void LVL1TGCTrigger::TGCHighPtBoard::createHighPtChipOut ( )
protectedinherited

Definition at line 393 of file TGCHighPtBoard.cxx.

394 {
395  if( m_highPtChipOut != 0 ) delete m_highPtChipOut;
396  m_highPtChipOut = new TGCHighPtChipOut(this, m_bid);
398 }

◆ createLowPtBoardOut()

void LVL1TGCTrigger::TGCHighPtBoard::createLowPtBoardOut ( )
protectedinherited

Definition at line 407 of file TGCHighPtBoard.cxx.

408 {
409  if( m_lowPtBoardOut != 0 ) delete m_lowPtBoardOut;
410  m_lowPtBoardOut = new TGCHighPtBoardOut(this, m_bid);
412 }

◆ decodeSlaveBoardOut()

void LVL1TGCTrigger::TGCStripHighPtBoard::decodeSlaveBoardOut ( int  chip,
TGCHitPattern tHit,
TGCHitPattern dHit 
)
protectedvirtual

Implements LVL1TGCTrigger::TGCHighPtBoard.

Definition at line 124 of file TGCStripHighPtBoard.cxx.

127 {
128  int block,j,ch;
129  // input from TripletSlaveBoard
130 #ifdef TGCCOUT
131  std::cout << "#--Strip decodeSlaveBoardOut()" << std::endl;
132  std::cout << "Triplet" << std::endl;
133 #endif
134 
135  for( j=0; j<NDecoderInSTSB; j+=1) {
136  if(m_decoderInTSB[chip][j]!=0) {
137 #ifdef TGCCOUT
138  std::cout << "index:" << j << "/" << NDecoderInSTSB-1 << " in a chip ";
139  std::cout<<"SHPB:decoderInTSB["<<chip<<"]["<<j<<"]:";
140  m_decoderInTSB[chip][j]->print();
141 #endif
142  for( block=0; block<m_decoderInTSB[chip][j]->getNumberOfData(); block+=1) {
143  if(m_decoderInTSB[chip][j]->getHit(block)) {
144  // input to the 2nd Decoder.
145  if(j>0) {
146  ch=(j-1)*m_nChOfTSBOut+block*m_nChInTSBRegion
147  +m_decoderInTSB[chip][j]->getPos(block);
148  if((ch>=0)&&(ch<m_nChOfTSBHit))
149  tHit->onChannel(ch);
150 #ifdef TGCCOUT
151  else
152  std::cout<<"decodeSlaveBoardOut ch= "<<ch<<std::endl;
153 #endif
154  }
155 
156  // input to the 2nd Decoder.
158  +m_decoderInTSB[chip][j]->getPos(block);
159  if((ch>=0)&&(ch<m_nChOfTSBHit))
160  tHit->onChannel(ch);
161 #ifdef TGCCOUT
162  else
163  std::cout<<"decodeSlaveBoardOut ch= "<<ch<<std::endl;
164 #endif
165  // input to the 1st Decoder.
166  if(j<NDecoderInSTSB){
167  ch=(j+1)*m_nChOfTSBOut+block*m_nChInTSBRegion
168  +m_decoderInTSB[chip][j]->getPos(block);
169  if((ch>=0)&&(ch<m_nChOfTSBHit))
170  tHit->onChannel(ch);
171 #ifdef TGCCOUT
172  else
173  std::cout<<"decodeSlaveBoardOut ch= "<<ch<<std::endl;
174 #endif
175  }
176  }
177  }
178  }
179  }
180 
181  // input from DoubletSlaveBoard.
182 #ifdef TGCCOUT
183  std::cout << "Doublet" << std::endl;
184 #endif
185  for( j=0; j<NDecoderInDSB; j+=1){
186  if(m_decoderInDSB[chip][j]!=0) {
187 #ifdef TGCCOUT
188  std::cout << "index:" << j << "/" << NDecoderInDSB-1 << " in a chip ";
189  std::cout<<"SHPB:decoderInDSB["<<chip<<"]["<<j<<"]:";
190  m_decoderInDSB[chip][j]->print();
191 #endif
192  for( block=0; block<m_decoderInDSB[chip][j]->getNumberOfData(); block+=1) {
193  if(m_decoderInDSB[chip][j]->getHit(block))
194  dHit->onChannel(j*m_nChOfDSBOut+m_nChOfDSBOut/2*block
195  +m_decoderInDSB[chip][j]->getPos(block));
196  }
197  }
198  }
199 }

◆ deleteSlaveBoardOut()

void LVL1TGCTrigger::TGCHighPtBoard::deleteSlaveBoardOut ( )
protectedinherited

Definition at line 106 of file TGCHighPtBoard.cxx.

107 {
108  int i,j;
109  for( j=0; j<NumberOfChip; j+=1){
110  for( i=0; i<s_NumberOfDSBOut; i+=1){
111  if(m_DSBOut[j][i]!=0){
112  delete m_DSBOut[j][i];
113  m_DSBOut[j][i]=0;
114  }
115  }
116  for( i=0; i<s_NumberOfTSBOut; i+=1){
117  if(m_TSBOut[j][i]!=0){
118  delete m_TSBOut[j][i];
119  m_TSBOut[j][i]=0;
120  }
121  }
122  }
123 }

◆ divideTSBOut()

TGCSlaveBoardOut * LVL1TGCTrigger::TGCStripHighPtBoard::divideTSBOut ( int  iSet,
TGCSlaveBoardOut SBOut 
)
protected

Definition at line 86 of file TGCStripHighPtBoard.cxx.

88 {
89  // divide output of TripletSlaveBoard to distribute to decoder channels.
90  // SBOut out
91  // a -> (iSet=0)
92  // b -> (iSet=0)
93  // c -> (iSet=0)
94  // d -> (iSet=0)
95  // a -> (iSet=1)
96  // b -> (iSet=1)
97  // c -> (iSet=1)
98  // d -> (iSet=1)
99 
100  if(SBOut!=0)
101  {
102  TGCSlaveBoardOut* out =
103  new TGCSlaveBoardOut(SBOut->getOrigin(), SBOut->getBid());
104  int nData = SBOut->getNumberOfData();// total number of block
105  out->setNumberOfData(nData/2);
106 
107  int i;
108  for( i=0; i< out->getNumberOfData(); i+=1)
109  {
110  out->setDev(i,SBOut->getDev((nData/2)*iSet+i));
111  out->setPos(i,SBOut->getPos((nData/2)*iSet+i));
112  out->setHit(i,SBOut->getHit((nData/2)*iSet+i));
113  out->setbPos(i,SBOut->getPos((nData/2)*iSet+i));
114  }
115  return out;
116  }
117  else
118  {
119  return 0;
120  }
121 }

◆ doCoincidence()

void LVL1TGCTrigger::TGCHighPtBoard::doCoincidence ( )
protectedinherited

Definition at line 170 of file TGCHighPtBoard.cxx.

171 {
172  int chip;
173 
174  setDecoderIn();
175 
176  for( chip=0; chip<NumberOfChip; chip+=1){
177  TGCHitPattern* TSBHit = new TGCHitPattern (m_nChOfTSBHit);
178  TGCHitPattern* DSBHit = new TGCHitPattern (m_nChOfDSBHit);
179 
180  decodeSlaveBoardOut(chip, TSBHit, DSBHit);
181 
182  int block;
183  for(block=0; block < NBlockOfDSBChannel; block++){
184  doCoincidenceMatrix(chip, block, TSBHit, DSBHit);
185  if(m_decoderInDSB[chip][block/2])
186  if(m_decoderInDSB[chip][block/2]->getHit(block%2)){
187  m_decoderInDSB[chip][block/2]->print(block%2);
188  }
189  // load SLB outputs to lowpTOutput
190  loadLowPtOutput(chip, block, m_decoderInDSB[chip][block/2]);
191  }
192  trackSelector(chip,PtHigh);
193  trackSelector(chip,PtLow);
194  highLowSelector(chip);
195 
196  delete TSBHit;
197  TSBHit=0;
198  delete DSBHit;
199  DSBHit=0;
200  }
201 
202  clearDecoderIn();
203 }

◆ doCoincidenceMatrix()

void LVL1TGCTrigger::TGCStripHighPtBoard::doCoincidenceMatrix ( int  chip,
int  block,
const TGCHitPattern tHit,
const TGCHitPattern dHit 
)
protectedvirtual

Implements LVL1TGCTrigger::TGCHighPtBoard.

Definition at line 201 of file TGCStripHighPtBoard.cxx.

205 {
206  int nChUnitOfDSBHit=m_nChOfDSBHit/NBlockOfDSBChannel;
207  int maxTSBCh=(block+1)*nChUnitOfDSBHit;
208  int minTSBCh=block*nChUnitOfDSBHit;
209 #ifdef TGCCOUT
210  std::cout << "# Strip doCoincidenceMatrix() chip:" << chip << " block:" << block << std::endl;
211 #endif
212  for(int dev=0; dev<=m_maxDev; dev+=1) {
213  // convert Nonlinear dPhi
214  int dp = getNonLinearDelta(dev);
215  if (dp<0) continue;
216 
217  int Oring, DevOrg;
218  int DSBCh, TSBCh;
219  for (int isgn=1; isgn >-2; isgn-=2) {
220  if ( (dev==0) && (isgn==-1) ) continue;
221  for(int i=0; i<nChUnitOfDSBHit; i+=1) {
222  //total ch from doublet in a block
223  if(dev>2*m_maxDev-m_maxDevOred){
224  Oring = 1;
225  DevOrg = 2*m_maxDev-m_maxDevOred + (dev - (2*m_maxDev-m_maxDevOred))*2 - 1;
226  } else {
227  Oring = 0;
228  DevOrg = dev;
229  }
230  for(int ior = 0; ior <= Oring; ior++) {
231  DSBCh = nChUnitOfDSBHit*block + i;
232  TSBCh = DSBCh + isgn*m_priorSign*(DevOrg + ior);
233  if ( ((isgn>0) && ( (block%2==0)||((block%2==1)&&(TSBCh<maxTSBCh)) ) ) || // dphi>=0
234  ((isgn<0) && ( (block%2==1)||((block%2==0)&&(TSBCh>=minTSBCh)) ) ) ){ // dphi<0
235  if(tHit->getChannel(TSBCh) && dHit->getChannel(DSBCh)) {
236 #ifdef TGCDEBUG
237  std::cout<< "HighPt" << std::endl
238  << " th&&dh==1 priorSign*dev:" << m_priorSign
239  << "*" << dev
240  << " DSBCh:" << DSBCh
241  << " TSBCh:" << TSBCh << std::endl;
242 #endif
243  m_highPtBoardOut->setPt(chip,block,PtHigh);
244  m_highPtBoardOut->setHit(chip,block,true);
245  m_highPtBoardOut->setDev(chip,block,isgn*m_priorSign*dp);
246  // assume that a unit of position is quarter of nch of DSB.
247  m_highPtBoardOut->setPos(chip,block,i/(m_nChOfDSBOut/4)); // !
248  return;
249  }
250  }
251  } // loop ior
252  } // loop i
253  } //loop isgn
254 
255  } //loop dev
256  m_highPtBoardOut->setHit(chip,block,false);
257 }

◆ eraseHighPtOutput()

void LVL1TGCTrigger::TGCHighPtBoard::eraseHighPtOutput ( )
protectedinherited

Definition at line 154 of file TGCHighPtBoard.cxx.

155 {
156  if(m_highPtBoardOut!=0){
157  delete m_highPtBoardOut;
159  }
160 }

◆ eraseLowPtOutput()

void LVL1TGCTrigger::TGCHighPtBoard::eraseLowPtOutput ( )
protectedinherited

Definition at line 162 of file TGCHighPtBoard.cxx.

163 {
164  if(m_lowPtBoardOut!=0){
165  delete m_lowPtBoardOut;
166  m_lowPtBoardOut=0;
167  }
168 }

◆ eraseOutput()

void LVL1TGCTrigger::TGCHighPtBoard::eraseOutput ( )
inherited

Definition at line 149 of file TGCHighPtBoard.cxx.

150 {
151  m_highPtChipOut=0;
152 }

◆ getId()

int LVL1TGCTrigger::TGCHighPtBoard::getId ( ) const
inlineinherited

Definition at line 124 of file TGCHighPtBoard.h.

125 {
126  return m_id;
127 }

◆ getNonLinearDelta()

int LVL1TGCTrigger::TGCStripHighPtBoard::getNonLinearDelta ( int  dev) const
protected

Definition at line 384 of file TGCStripHighPtBoard.cxx.

385 {
386  if (dev >=12) return 8; // set dev=8 in case of out of range
387  else if (dev >=10) return 7;
388  else if (dev >=8) return 6;
389  else if (dev >=6) return 5;
390  else if (dev >=4) return 4;
391  else return dev;
392 }

◆ getOutput()

TGCHighPtChipOut * LVL1TGCTrigger::TGCHighPtBoard::getOutput ( )
inherited

Definition at line 144 of file TGCHighPtBoard.cxx.

145 {
146  return m_highPtChipOut;
147 }

◆ getRegion()

TGCRegionType LVL1TGCTrigger::TGCHighPtBoard::getRegion ( ) const
inlineinherited

Definition at line 50 of file TGCHighPtBoard.h.

50 { return m_region;}

◆ getTSBOut()

TGCSlaveBoardOut * LVL1TGCTrigger::TGCHighPtBoard::getTSBOut ( int  chip,
int  port 
)
inherited

Definition at line 225 of file TGCHighPtBoard.cxx.

226 {
227  return m_TSBOut[chip][port];
228 }

◆ getType()

int LVL1TGCTrigger::TGCHighPtBoard::getType ( ) const
inlineinherited

Definition at line 130 of file TGCHighPtBoard.h.

131 {
132  return m_type;
133 }

◆ highLowSelector()

void LVL1TGCTrigger::TGCStripHighPtBoard::highLowSelector ( int  chip)
protectedvirtual

Reimplemented from LVL1TGCTrigger::TGCHighPtBoard.

Definition at line 259 of file TGCStripHighPtBoard.cxx.

260 {
261  int iblock;
262  int highPt1stBlock, highPt2ndBlock;
263  int lowPt1stBlock, lowPt2ndBlock;
264  int pos, dev;
265  // Get 1st, 2nd candidate block for High-PT
266  highPt1stBlock = -1;
267  highPt2ndBlock = -1;
268  for(iblock=0;iblock<NBlockOfDSBChannel;iblock+=1){
269  switch (m_highPtBoardOut->getSel(chip,iblock)){
270  case 0: // No Hit
271  break;
272  case 1: // 1st candidate
273  highPt1stBlock = iblock;
274  break;
275  case 2: // 2nd candidate
276  highPt2ndBlock = iblock;
277  break;
278  default:
279  break;
280  }
281  }
282  // Get 1st, 2nd candidate block for Low-PT
283  lowPt1stBlock = -1;
284  lowPt2ndBlock = -1;
285  for(iblock=0;iblock<NBlockOfDSBChannel;iblock+=1){
286  switch (m_lowPtBoardOut->getSel(chip,iblock)){
287  case 0: // No Hit
288  break;
289  case 1: // 1st candidate
290  lowPt1stBlock = iblock;
291  break;
292  case 2: // 2nd candidate
293  lowPt2ndBlock = iblock;
294  break;
295  default:
296  break;
297  }
298  }
299 
300  if (highPt1stBlock < 0){ //No HPT Matrix Output
301  if (lowPt1stBlock >= 0){
302  // LPT 1st
303  pos=m_lowPtBoardOut->getPos(chip,lowPt1stBlock);
304  dev=m_lowPtBoardOut->getDev(chip,lowPt1stBlock);
309  m_highPtChipOut->setHitID(chip,FirstCandidate,lowPt1stBlock);
310  }
311  if (lowPt2ndBlock >= 0){
312  // LPT 2nd
313  pos=m_lowPtBoardOut->getPos(chip,lowPt2ndBlock);
314  dev=m_lowPtBoardOut->getDev(chip,lowPt2ndBlock);
319  m_highPtChipOut->setHitID(chip,SecondCandidate,lowPt2ndBlock);
320  }
321  return;
322  } else if (highPt2ndBlock < 0){ // 1 HPT Matrix Output
323  // HPT 1st
324  pos=m_highPtBoardOut->getPos(chip,highPt1stBlock);
325  dev=m_highPtBoardOut->getDev(chip,highPt1stBlock);
326  if ((dev>-8) && (dev<8)) { // check if |dev|<8
331  m_highPtChipOut->setHitID(chip,FirstCandidate,highPt1stBlock);
332  }
333 
334  if ((lowPt1stBlock >= 0) &&
335  !((lowPt1stBlock == highPt1stBlock) && ((m_lowPtBoardOut->getPos(chip,lowPt1stBlock)) == (m_highPtBoardOut->getPos(chip,highPt1stBlock))))
336  ){ //for vi }
337  // LPT 1st (as 2nd candidate)
338  pos=m_lowPtBoardOut->getPos(chip,lowPt1stBlock);
339  dev=m_lowPtBoardOut->getDev(chip,lowPt1stBlock);
344  m_highPtChipOut->setHitID(chip,SecondCandidate,lowPt1stBlock);
345  return;
346  } else if ((lowPt2ndBlock >= 0) &&
347  !((lowPt2ndBlock == highPt1stBlock) && ((m_lowPtBoardOut->getPos(chip,lowPt2ndBlock)) == (m_highPtBoardOut->getPos(chip,highPt1stBlock))))
348  ){
349 
350  // LPT 2nd (as 2nd candidate)
351  pos=m_lowPtBoardOut->getPos(chip,lowPt2ndBlock);
352  dev=m_lowPtBoardOut->getDev(chip,lowPt2ndBlock);
357  m_highPtChipOut->setHitID(chip,SecondCandidate,lowPt2ndBlock);
358  return;
359  }
360  } else { // 2 HPT Matrix Outputs
361  // HPT 1st
362  pos=m_highPtBoardOut->getPos(chip,highPt1stBlock);
363  dev=m_highPtBoardOut->getDev(chip,highPt1stBlock);
364  if ((dev>-8) && (dev<8)) { // check if |dev|<8
369  m_highPtChipOut->setHitID(chip,FirstCandidate,highPt1stBlock);
370  }
371  // HPT 2nd
372  pos=m_highPtBoardOut->getPos(chip,highPt2ndBlock);
373  dev=m_highPtBoardOut->getDev(chip,highPt2ndBlock);
374  if ((dev>-8) && (dev<8)) { // check if |dev|<8
379  m_highPtChipOut->setHitID(chip,SecondCandidate,highPt2ndBlock);
380  }
381  }
382 }

◆ loadLowPtOutput()

void LVL1TGCTrigger::TGCHighPtBoard::loadLowPtOutput ( int  chip,
int  block,
TGCSlaveBoardOut dataDSB 
)
protectedinherited

Definition at line 206 of file TGCHighPtBoard.cxx.

208 {
209  if(dataDSB!=0){
210  if(dataDSB->getHit(block%2)){
211  int pos=dataDSB->getPos(block%2);
212  int dev=dataDSB->getDev(block%2);
213  m_lowPtBoardOut->setPt(chip,block,PtLow);
214  m_lowPtBoardOut->setHit(chip,block,true);
215  m_lowPtBoardOut->setDev(chip,block,dev);
216  m_lowPtBoardOut->setPos(chip,block,pos/(m_nChOfDSBOut/4)); // !
217  }else{
218  m_lowPtBoardOut->setHit(chip,block,false);
219  }
220  }else{
221  m_lowPtBoardOut->setHit(chip,block,false);
222  }
223 }

◆ setAdjacentHPB()

void LVL1TGCTrigger::TGCHighPtBoard::setAdjacentHPB ( int  side,
TGCHighPtBoard hpt 
)
inlineinherited

Definition at line 56 of file TGCHighPtBoard.h.

56 { m_adjacentHPB[side]=hpt;};

◆ setDecoderIn()

void LVL1TGCTrigger::TGCStripHighPtBoard::setDecoderIn ( )
protectedvirtual

Implements LVL1TGCTrigger::TGCHighPtBoard.

Definition at line 24 of file TGCStripHighPtBoard.cxx.

25 {
30 
34 
38  m_decoderInTSB[ChipA][3] = 0;
39 
42  m_decoderInTSB[ChipB][2] = 0;
43  m_decoderInTSB[ChipB][3] = 0;
44 
45  }
46 
48  m_decoderInDSB[ChipA][0] = 0;
50  m_decoderInDSB[ChipA][2] = 0;
51 
52  m_decoderInDSB[ChipB][0] = 0;
53  m_decoderInDSB[ChipB][1] = 0;
54  m_decoderInDSB[ChipB][2] = 0;
55 
56 
57  m_decoderInTSB[ChipA][0] = 0;
59  m_decoderInTSB[ChipA][2] = 0;
60  m_decoderInTSB[ChipA][3] = 0;
61 
62  m_decoderInTSB[ChipB][0] = 0;
63  m_decoderInTSB[ChipB][1] = 0;
64  m_decoderInTSB[ChipB][2] = 0;
65  m_decoderInTSB[ChipB][3] = 0;
66 
67  }
68 }

◆ setDSB()

void LVL1TGCTrigger::TGCHighPtBoard::setDSB ( int  connector,
TGCSlaveBoard SBIn 
)
inlineinherited

Definition at line 136 of file TGCHighPtBoard.h.

137 {
138  int port = connector % s_NumberOfDSBOut;
139  int chip = connector / s_NumberOfDSBOut;
140  m_DSB[chip][port] = SBIn;
141 }

◆ setId()

void LVL1TGCTrigger::TGCHighPtBoard::setId ( int  idIn)
inlineinherited

Definition at line 118 of file TGCHighPtBoard.h.

119 {
120  m_id = idIn;
121 }

◆ setRegion()

void LVL1TGCTrigger::TGCHighPtBoard::setRegion ( const TGCRegionType  regionIn)
inlineinherited

Definition at line 51 of file TGCHighPtBoard.h.

51 { m_region = regionIn;}

◆ setTSB()

void LVL1TGCTrigger::TGCHighPtBoard::setTSB ( int  connector,
TGCSlaveBoard SBIn 
)
inlineinherited

Definition at line 144 of file TGCHighPtBoard.h.

145 {
146  int port = connector % s_NumberOfTSBOut;
147  int chip = connector / s_NumberOfTSBOut;
148  m_TSB[chip][port] = SBIn;
149 }

◆ setType()

void LVL1TGCTrigger::TGCHighPtBoard::setType ( int  typeIn)
inlineinherited

Definition at line 49 of file TGCHighPtBoard.h.

49 { m_type=typeIn;}

◆ showResult()

void LVL1TGCTrigger::TGCHighPtBoard::showResult ( ) const
inherited

Definition at line 415 of file TGCHighPtBoard.cxx.

416 {
417 
418 #ifdef TGCCOUT
419  int i,j,k, chip, iBlock, iCandidate;
420  std::cout << "#HighPtBoard::showResult()" << std::endl;
421  std::cout<<"#HPB [Input] bid=" << m_bid;
422  std::cout.width(2);
423  std::cout << " type=" << ((m_type==WHPB) ? "WHPB" : "SHPB" );
424  std::cout.width(2);
425  std::cout << " region=" << ( (m_region==TGCRegionType::FORWARD) ? "FWD" : "END");
426  std::cout.width(2);
427  std::cout << " id=" << m_id << std::endl;
428  for( j=0; j<s_NumberOfTSBOut; j+=1){
429  for( i=0; i<NumberOfChip; i+=1){
430  if(m_TSBOut[i][j]!=0){
431  for( k=0; k<m_TSBOut[i][j]->getNumberOfData(); k+=1)
432  if(m_TSBOut[i][j]->getHit(k)){
433  std::cout << "\t[";
434  std::cout.width(2);
435  std::cout << "type=" << m_TSBOut[i][j]->getOrigin()->getTypeName(m_TSBOut[i][j]->getOrigin()->getType());
436  std::cout.width(2);
437  std::cout << " region=" << ((m_TSBOut[i][j]->getOrigin()->getRegion()==TGCRegionType::ENDCAP) ? "END" : "FWD");
438  std::cout.width(2);
439  std::cout << " id=" <<m_TSBOut[i][j]->getOrigin()->getId();
440  std::cout.width(2);
441  std::cout << " iChip=" << i;
442  std::cout.width(2);
443  std::cout << " iTSBOut=" << j;
444  std::cout.width(2);
445  std::cout << " k=" << k;
446  std::cout.width(3);
447  std::cout << " pos=" << m_TSBOut[i][j]->getPos(k);
448  std::cout << "]" << std::endl;
449  }
450  }
451  if(m_DSBOut[i][j]!=0){
452  for( k=0; k<m_DSBOut[i][j]->getNumberOfData(); k+=1)
453  if(m_DSBOut[i][j]->getHit(k)){
454  std::cout<<"\t[";
455  std::cout.width(2);
456  std::cout << "type=" << m_DSBOut[i][j]->getOrigin()->getTypeName(m_DSBOut[i][j]->getOrigin()->getType());
457  std::cout.width(2);
458  std::cout << " region=" <<((m_DSBOut[i][j]->getOrigin()->getRegion()==TGCRegionType::ENDCAP) ? "END" : "FWD");
459  std::cout.width(2);
460  std::cout << " id=" <<m_DSBOut[i][j]->getOrigin()->getId();
461  std::cout.width(2);
462  std::cout << " i=" << i;
463  std::cout.width(2);
464  std::cout << " j=" << j;
465  std::cout.width(2);
466  std::cout << " k=" << k;
467  std::cout.width(3);
468  std::cout << " pos=" << m_DSBOut[i][j]->getPos(k);
469  std::cout.width(3);
470  std::cout << " dev=" << m_DSBOut[i][j]->getDev(k);
471  std::cout << "]" << std::endl;
472  }
473  }
474  }
475  }
476  std::cout<<std::endl;
477 
478  std::cout << "#HPB [Intermediate] bid=" << m_bid;
479  std::cout.width(2);
480  std::cout << " type=" << ((m_type==WHPB) ? "WHPB" : "SHPB" );
481  std::cout.width(2);
482  std::cout << " region=" << ( (m_region==TGCRegionType::FORWARD) ? "FWD" : "END");
483  std::cout.width(2);
484  std::cout << " id=" << m_id << std::endl;
485  for( chip=0; chip<NumberOfChip; chip+=1){
486  std::cout<<"\t[";
487  std::cout.width(2);
488  std::cout << "iChip=" << chip << "]" << std::endl;
489 
490  // m_highPtBoardOut
491  for(iBlock=0; iBlock<NBlockOfDSBChannel; iBlock+=1){
492  std::cout<<"\t [highPtBoardOut: ";
493  std::cout.width(2);
494  std::cout << "block=" << iBlock;
495  if(m_highPtBoardOut->getHit(chip,iBlock)){
496  std::cout.width(2);
497  std::cout << " pos=" << m_highPtBoardOut->getPos(chip,iBlock);
498  std::cout.width(4);
499  std::cout << " dev=" << m_highPtBoardOut->getDev(chip,iBlock);
500  }
501  std::cout << "]" << std::endl;
502  }
503 
504  // m_lowPtBoardOut
505  for(iBlock=0; iBlock<NBlockOfDSBChannel; iBlock+=1){
506  std::cout<<"\t [lowPtBoardOut: ";
507  std::cout.width(2);
508  std::cout << "block=" << iBlock;
509  if(m_lowPtBoardOut->getHit(chip,iBlock)){
510  std::cout.width(2);
511  std::cout << " pos=" << m_lowPtBoardOut->getPos(chip,iBlock);
512  std::cout.width(4);
513  std::cout << " dev=" << m_lowPtBoardOut->getDev(chip,iBlock);
514  }
515  std::cout << "]" << std::endl;
516  }
517  }
518 
519  std::cout << "#HPB [Output] bid=" << m_bid;
520  std::cout.width(2);
521  std::cout << " type=" << ((m_type==WHPB) ? "WHPB" : "SHPB" );
522  std::cout.width(2);
523  std::cout << " region=" << ( (m_region==TGCRegionType::FORWARD) ? "FWD" : "END");
524  std::cout.width(2);
525  std::cout << " id=" << m_id << std::endl;
526  for( chip=0; chip<NumberOfChip; chip+=1){
527  std::cout<<"\t[";
528  std::cout.width(2);
529  std::cout << "iChip=" << chip << "]" << std::endl;
530  for( iCandidate=0; iCandidate<2; iCandidate+=1){
531  if(m_highPtChipOut->getSel(chip,iCandidate)){
532  std::cout<<"\t [";
533  std::cout.width(2);
534  std::cout << "HitID=" << m_highPtChipOut->getHitID(chip,iCandidate);
535  std::cout << " Sel:" << m_highPtChipOut->getSel(chip,iCandidate);
536  if(m_highPtChipOut->getPt(chip,iCandidate)==PtHigh)
537  std::cout<<" Pt:1[high]";
538  else
539  std::cout<<" Pt:0[low ]";
540  std::cout.width(2);
541  std::cout << " pos=" << m_highPtChipOut->getPos(chip,iCandidate);
542  std::cout.width(4);
543  std::cout << " dev=" << m_highPtChipOut->getDev(chip,iCandidate);
544  std::cout << "]" << std::endl;
545  }
546  }
547  }
548 #endif
549 }

◆ trackSelector()

void LVL1TGCTrigger::TGCHighPtBoard::trackSelector ( int  chip,
int  ptIn 
)
protectedinherited

Definition at line 230 of file TGCHighPtBoard.cxx.

231 {
232  int i,iblock,a,b;
233  int dev[NBlockOfDSBChannel];
234  int block[NBlockOfDSBChannel];
235 
236  for( iblock=0; iblock<NBlockOfDSBChannel; iblock+=1){
237  block[iblock]=iblock;
238  if(ptIn==PtHigh){
239  if(m_highPtBoardOut->getHit(chip,iblock)) dev[iblock]=m_highPtBoardOut->getDev(chip,iblock);
240  else dev[iblock]=99;
241  } else { // Low-Pt track
242  if(m_lowPtBoardOut->getHit(chip,iblock)){
243  dev[iblock]=abs(m_lowPtBoardOut->getDev(chip,iblock))+m_maxDev+1;
244  if(m_lowPtBoardOut->getDev(chip,iblock)<0) dev[iblock]=-dev[iblock];
245  } else dev[iblock]=99;
246  }
247  }
248 
249  // sort in ascending order of |dev|.
250  for(iblock=1;iblock<NBlockOfDSBChannel;iblock+=1){
251  a=dev[iblock];
252  b=block[iblock];
253  i=iblock-1;
254  while((i>=0)&&((abs(dev[i])>abs(a))||((abs(dev[i])==abs(a))&&(dev[i]!=a)&&(m_priorSign*dev[i]<0)))){
255  dev[i+1]=dev[i];
256  block[i+1]=block[i];
257  i--;
258  }
259  dev[i+1]=a;
260  block[i+1]=b;
261  }
262 
263  for(iblock=0;iblock<m_maxNumberOfHPBData;iblock+=1){
264  if(ptIn==PtHigh){
265  if(m_highPtBoardOut->getHit(chip,block[iblock]))
266  m_highPtBoardOut->setSel(chip,block[iblock],iblock+1);
267  } else { // Low-Pt track
268  if(m_lowPtBoardOut->getHit(chip,block[iblock]))
269  m_lowPtBoardOut->setSel(chip,block[iblock],iblock+1);
270  }
271  }
272 }

Member Data Documentation

◆ m_adjacentHPB

TGCHighPtBoard* LVL1TGCTrigger::TGCHighPtBoard::m_adjacentHPB[NumberOfAdjacentHPB]
protectedinherited

Definition at line 96 of file TGCHighPtBoard.h.

◆ m_bid

int LVL1TGCTrigger::TGCHighPtBoard::m_bid
protectedinherited

Definition at line 101 of file TGCHighPtBoard.h.

◆ m_decoderInDSB

TGCSlaveBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_decoderInDSB[NumberOfChip][NDecoderInDSB]
protectedinherited

Definition at line 98 of file TGCHighPtBoard.h.

◆ m_decoderInTSB

TGCSlaveBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_decoderInTSB[NumberOfChip][NDecoderInTSB]
protectedinherited

Definition at line 97 of file TGCHighPtBoard.h.

◆ m_DSB

TGCSlaveBoard* LVL1TGCTrigger::TGCHighPtBoard::m_DSB[NumberOfChip][s_NumberOfDSBOut]
protectedinherited

Definition at line 92 of file TGCHighPtBoard.h.

◆ m_DSBOut

TGCSlaveBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_DSBOut[NumberOfChip][s_NumberOfDSBOut]
protectedinherited

Definition at line 94 of file TGCHighPtBoard.h.

◆ m_highPtBoardOut

TGCHighPtBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_highPtBoardOut
protectedinherited

Definition at line 89 of file TGCHighPtBoard.h.

◆ m_highPtChipOut

TGCHighPtChipOut* LVL1TGCTrigger::TGCHighPtBoard::m_highPtChipOut
protectedinherited

Definition at line 87 of file TGCHighPtBoard.h.

◆ m_id

int LVL1TGCTrigger::TGCHighPtBoard::m_id
protectedinherited

Definition at line 100 of file TGCHighPtBoard.h.

◆ m_idSectorLogic

int LVL1TGCTrigger::TGCHighPtBoard::m_idSectorLogic
protectedinherited

Definition at line 102 of file TGCHighPtBoard.h.

◆ m_lowPtBoardOut

TGCHighPtBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_lowPtBoardOut
protectedinherited

Definition at line 90 of file TGCHighPtBoard.h.

◆ m_maxDev

int LVL1TGCTrigger::TGCHighPtBoard::m_maxDev
protectedinherited

Definition at line 108 of file TGCHighPtBoard.h.

◆ m_maxDevOred

int LVL1TGCTrigger::TGCHighPtBoard::m_maxDevOred
protectedinherited

Definition at line 109 of file TGCHighPtBoard.h.

◆ m_maxNumberOfHPBData

int LVL1TGCTrigger::TGCHighPtBoard::m_maxNumberOfHPBData
protectedinherited

Definition at line 107 of file TGCHighPtBoard.h.

◆ m_nChInTSBRegion

int LVL1TGCTrigger::TGCHighPtBoard::m_nChInTSBRegion
protectedinherited

Definition at line 114 of file TGCHighPtBoard.h.

◆ m_nChOfDSBHit

int LVL1TGCTrigger::TGCHighPtBoard::m_nChOfDSBHit
protectedinherited

Definition at line 112 of file TGCHighPtBoard.h.

◆ m_nChOfDSBOut

int LVL1TGCTrigger::TGCHighPtBoard::m_nChOfDSBOut
protectedinherited

Definition at line 111 of file TGCHighPtBoard.h.

◆ m_nChOfTSBHit

int LVL1TGCTrigger::TGCHighPtBoard::m_nChOfTSBHit
protectedinherited

Definition at line 113 of file TGCHighPtBoard.h.

◆ m_nChOfTSBOut

int LVL1TGCTrigger::TGCHighPtBoard::m_nChOfTSBOut
protectedinherited

Definition at line 110 of file TGCHighPtBoard.h.

◆ m_priorSign

int LVL1TGCTrigger::TGCHighPtBoard::m_priorSign
protectedinherited

Definition at line 106 of file TGCHighPtBoard.h.

◆ m_region

TGCRegionType LVL1TGCTrigger::TGCHighPtBoard::m_region {TGCRegionType::FORWARD}
protectedinherited

Definition at line 104 of file TGCHighPtBoard.h.

◆ m_TSB

TGCSlaveBoard* LVL1TGCTrigger::TGCHighPtBoard::m_TSB[NumberOfChip][s_NumberOfTSBOut]
protectedinherited

Definition at line 93 of file TGCHighPtBoard.h.

◆ m_TSBOut

TGCSlaveBoardOut* LVL1TGCTrigger::TGCHighPtBoard::m_TSBOut[NumberOfChip][s_NumberOfTSBOut]
protectedinherited

Definition at line 95 of file TGCHighPtBoard.h.

◆ m_type

int LVL1TGCTrigger::TGCHighPtBoard::m_type
protectedinherited

Definition at line 103 of file TGCHighPtBoard.h.

◆ s_NumberOfDSBOut

constexpr int LVL1TGCTrigger::TGCHighPtBoard::s_NumberOfDSBOut = 3
staticconstexprprivateinherited

Definition at line 37 of file TGCHighPtBoard.h.

◆ s_NumberOfTSBOut

constexpr int LVL1TGCTrigger::TGCHighPtBoard::s_NumberOfTSBOut = 2
staticconstexprprivateinherited

Definition at line 36 of file TGCHighPtBoard.h.


The documentation for this class was generated from the following files:
LVL1TGCTrigger::TGCHighPtChipOut::setHitID
void setHitID(int chip, int iCandidate, int hitIdIn)
Definition: TGCHighPtChipOut.h:72
LVL1TGCTrigger::TGCHighPtBoardOut::setDev
void setDev(int chip, int iData, int devIn)
Definition: TGCHighPtBoardOut.h:66
LVL1TGCTrigger::TGCRegionType::ENDCAP
@ ENDCAP
LVL1TGCTrigger::PtHigh
const int PtHigh
Definition: TGCHighPtBoard.h:17
TileDCSDataPlotter.dp
dp
Definition: TileDCSDataPlotter.py:840
LVL1TGCTrigger::TGCHighPtChipOut::setPos
void setPos(int chip, int iCandidate, int posIn)
Definition: TGCHighPtChipOut.h:66
LVL1TGCTrigger::TGCHighPtBoard::m_type
int m_type
Definition: TGCHighPtBoard.h:103
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
LVL1TGCTrigger::TGCSlaveBoardOut::getDev
int getDev(int iData) const
Definition: TGCSlaveBoardOut.h:119
LVL1TGCTrigger::TGCHighPtBoard::collectInput
void collectInput()
Definition: TGCHighPtBoard.cxx:125
LVL1TGCTrigger::TGCHighPtBoard::doCoincidence
void doCoincidence()
Definition: TGCHighPtBoard.cxx:170
LVL1TGCTrigger::TGCHighPtBoard::deleteSlaveBoardOut
void deleteSlaveBoardOut()
Definition: TGCHighPtBoard.cxx:106
LVL1TGCTrigger::TGCHighPtBoard::m_DSBOut
TGCSlaveBoardOut * m_DSBOut[NumberOfChip][s_NumberOfDSBOut]
Definition: TGCHighPtBoard.h:94
LVL1TGCTrigger::TGCHighPtBoardOut::setSel
void setSel(int chip, int iData, int selIn)
Definition: TGCHighPtBoardOut.h:135
LVL1TGCTrigger::NDecoderInSTSB
const int NDecoderInSTSB
Definition: TGCHighPtBoard.h:24
LVL1TGCTrigger::TGCHighPtBoard::m_nChOfTSBOut
int m_nChOfTSBOut
Definition: TGCHighPtBoard.h:110
LVL1TGCTrigger::TGCHighPtBoardOut::getDev
int getDev(int chip, int iData) const
Definition: TGCHighPtBoardOut.h:93
LVL1TGCTrigger::NDecoderInDSB
const int NDecoderInDSB
Definition: TGCHighPtBoard.h:23
LVL1TGCTrigger::TGCHighPtBoard::m_decoderInTSB
TGCSlaveBoardOut * m_decoderInTSB[NumberOfChip][NDecoderInTSB]
Definition: TGCHighPtBoard.h:97
LVL1TGCTrigger::TGCHighPtBoard::loadLowPtOutput
void loadLowPtOutput(int chip, int block, TGCSlaveBoardOut *dataDSB)
Definition: TGCHighPtBoard.cxx:206
LVL1TGCTrigger::TGCHighPtBoard::createHighPtChipOut
void createHighPtChipOut()
Definition: TGCHighPtBoard.cxx:393
LVL1TGCTrigger::FirstCandidate
@ FirstCandidate
Definition: TGCHighPtChipOut.h:13
LVL1TGCTrigger::TGCHighPtBoard::m_nChOfDSBOut
int m_nChOfDSBOut
Definition: TGCHighPtBoard.h:111
LVL1TGCTrigger::TGCHighPtBoard::TGCHighPtBoard
TGCHighPtBoard()
Definition: TGCHighPtBoard.cxx:14
LVL1TGCTrigger::TGCHighPtBoard::m_highPtChipOut
TGCHighPtChipOut * m_highPtChipOut
Definition: TGCHighPtBoard.h:87
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
LVL1TGCTrigger::TGCSlaveBoard::getTypeName
std::string getTypeName(int typeIn) const
Definition: TGCSlaveBoard.cxx:173
LVL1TGCTrigger::TGCSlaveBoardOut::getNumberOfData
int getNumberOfData() const
Definition: TGCSlaveBoardOut.h:155
LVL1TGCTrigger::TGCRegionType::FORWARD
@ FORWARD
LVL1TGCTrigger::TGCHighPtChipOut::getPt
int getPt(int chip, int iCandidate) const
Definition: TGCHighPtChipOut.h:109
LVL1TGCTrigger::ChipB
@ ChipB
Definition: TGCHighPtBoard.h:26
LVL1TGCTrigger::TGCHighPtBoard::getType
int getType() const
Definition: TGCHighPtBoard.h:130
LVL1TGCTrigger::TGCHighPtChipOut::clear
void clear()
Definition: TGCHighPtChipOut.cxx:61
LVL1TGCTrigger::TGCHighPtBoard::m_nChOfDSBHit
int m_nChOfDSBHit
Definition: TGCHighPtBoard.h:112
LVL1TGCTrigger::TGCSlaveBoardOut::getPos
int getPos(int iData) const
Definition: TGCSlaveBoardOut.h:125
LVL1TGCTrigger::TGCHighPtBoard::decodeSlaveBoardOut
virtual void decodeSlaveBoardOut(int chip, TGCHitPattern *tHit, TGCHitPattern *dHit)=0
LVL1TGCTrigger::TGCHighPtBoard::m_nChInTSBRegion
int m_nChInTSBRegion
Definition: TGCHighPtBoard.h:114
TRT::Hit::side
@ side
Definition: HitInfo.h:83
LVL1TGCTrigger::NumberOfChip
const int NumberOfChip
Definition: TGCHighPtBoard.h:20
LVL1TGCTrigger::PtLow
const int PtLow
Definition: TGCHighPtBoard.h:16
LVL1TGCTrigger::TGCHighPtBoard::m_adjacentHPB
TGCHighPtBoard * m_adjacentHPB[NumberOfAdjacentHPB]
Definition: TGCHighPtBoard.h:96
LVL1TGCTrigger::TGCHighPtBoard::m_priorSign
int m_priorSign
Definition: TGCHighPtBoard.h:106
LVL1TGCTrigger::TGCHighPtBoardOut::setPos
void setPos(int chip, int iData, int posIn)
Definition: TGCHighPtBoardOut.h:73
LVL1TGCTrigger::TGCHighPtBoard::s_NumberOfTSBOut
static constexpr int s_NumberOfTSBOut
Definition: TGCHighPtBoard.h:36
LVL1TGCTrigger::TGCHighPtBoard::m_nChOfTSBHit
int m_nChOfTSBHit
Definition: TGCHighPtBoard.h:113
LVL1TGCTrigger::TGCSlaveBoard::eraseOutput
void eraseOutput()
Definition: TGCSlaveBoard.cxx:230
lumiFormat.i
int i
Definition: lumiFormat.py:92
LVL1TGCTrigger::TGCHighPtBoard::createHighPtBoardOut
void createHighPtBoardOut()
Definition: TGCHighPtBoard.cxx:400
LVL1TGCTrigger::SecondCandidate
@ SecondCandidate
Definition: TGCHighPtChipOut.h:13
LVL1TGCTrigger::TGCHighPtBoard::m_decoderInDSB
TGCSlaveBoardOut * m_decoderInDSB[NumberOfChip][NDecoderInDSB]
Definition: TGCHighPtBoard.h:98
LVL1TGCTrigger::TGCHighPtBoard::trackSelector
void trackSelector(int chip, int ptIn)
Definition: TGCHighPtBoard.cxx:230
LVL1TGCTrigger::TGCHighPtBoardOut::getSel
int getSel(int chip, int iData) const
Definition: TGCHighPtBoardOut.h:129
LVL1TGCTrigger::TGCHighPtBoard::m_maxNumberOfHPBData
int m_maxNumberOfHPBData
Definition: TGCHighPtBoard.h:107
LVL1TGCTrigger::TGCHighPtChipOut::getHitID
int getHitID(int chip, int iCandidate) const
Definition: TGCHighPtChipOut.h:102
LVL1TGCTrigger::TGCHighPtBoard::m_region
TGCRegionType m_region
Definition: TGCHighPtBoard.h:104
LVL1TGCTrigger::TGCHighPtBoard::m_bid
int m_bid
Definition: TGCHighPtBoard.h:101
LVL1TGCTrigger::TGCHighPtBoard::s_NumberOfDSBOut
static constexpr int s_NumberOfDSBOut
Definition: TGCHighPtBoard.h:37
LVL1TGCTrigger::NDecoderInTSB
const int NDecoderInTSB
Definition: TGCHighPtBoard.h:22
LVL1TGCTrigger::TGCHighPtBoard::clearDecoderIn
virtual void clearDecoderIn()=0
LVL1TGCTrigger::TGCStripHighPtBoard::divideTSBOut
TGCSlaveBoardOut * divideTSBOut(int iSet, TGCSlaveBoardOut *SBOut)
Definition: TGCStripHighPtBoard.cxx:86
LVL1TGCTrigger::TGCHighPtChipOut::setDev
void setDev(int chip, int iCandidate, int devIn)
Definition: TGCHighPtChipOut.h:60
LVL1TGCTrigger::TGCHighPtChipOut::setPt
void setPt(int chip, int iCandidate, int ptIn)
Definition: TGCHighPtChipOut.h:78
LVL1TGCTrigger::TGCHighPtBoardOut::getHit
bool getHit(int chip, int iData) const
Definition: TGCHighPtBoardOut.h:117
LVL1TGCTrigger::TGCHighPtChipOut::getDev
int getDev(int chip, int iCandidate) const
Definition: TGCHighPtChipOut.h:90
LVL1TGCTrigger::TGCHighPtChipOut::getSel
int getSel(int chip, int iCandidate) const
Definition: TGCHighPtChipOut.h:121
LVL1TGCTrigger::TGCSlaveBoard::getId
int getId() const
Definition: TGCSlaveBoard.h:41
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
LVL1TGCTrigger::TGCHighPtBoard::eraseHighPtOutput
void eraseHighPtOutput()
Definition: TGCHighPtBoard.cxx:154
LVL1TGCTrigger::TGCHighPtBoard::showResult
void showResult() const
Definition: TGCHighPtBoard.cxx:415
LVL1TGCTrigger::TGCHighPtBoardOut::getPos
int getPos(int chip, int iData) const
Definition: TGCHighPtBoardOut.h:99
LVL1TGCTrigger::TGCHighPtBoard::doCoincidenceMatrix
virtual void doCoincidenceMatrix(int chip, int block, const TGCHitPattern *tHit, const TGCHitPattern *dHit)=0
LVL1TGCTrigger::TGCHighPtBoard::eraseLowPtOutput
void eraseLowPtOutput()
Definition: TGCHighPtBoard.cxx:162
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
LVL1TGCTrigger::TGCHighPtBoardOut::clear
void clear()
Definition: TGCHighPtBoardOut.cxx:19
LVL1TGCTrigger::TGCSlaveBoardOut::getOrigin
const TGCSlaveBoard * getOrigin() const
Definition: TGCSlaveBoardOut.h:113
LVL1TGCTrigger::TGCHighPtBoard::m_maxDevOred
int m_maxDevOred
Definition: TGCHighPtBoard.h:109
LVL1TGCTrigger::TGCHighPtBoard::m_lowPtBoardOut
TGCHighPtBoardOut * m_lowPtBoardOut
Definition: TGCHighPtBoard.h:90
a
TList * a
Definition: liststreamerinfos.cxx:10
LVL1TGCTrigger::TGCHighPtChipOut::getPos
int getPos(int chip, int iCandidate) const
Definition: TGCHighPtChipOut.h:96
LVL1TGCTrigger::TGCHighPtBoard::m_DSB
TGCSlaveBoard * m_DSB[NumberOfChip][s_NumberOfDSBOut]
Definition: TGCHighPtBoard.h:92
LVL1TGCTrigger::TGCHighPtBoard::setDecoderIn
virtual void setDecoderIn()=0
LVL1TGCTrigger::NBlockOfDSBChannel
const int NBlockOfDSBChannel
Definition: TGCHighPtBoard.h:21
LVL1TGCTrigger::ChipA
@ ChipA
Definition: TGCHighPtBoard.h:26
LVL1TGCTrigger::TGCHighPtBoardOut::setPt
void setPt(int chip, int iData, int ptIn)
Definition: TGCHighPtBoardOut.h:80
LVL1TGCTrigger::TGCSlaveBoard::getOutput
TGCSlaveBoardOut * getOutput()
Definition: TGCSlaveBoard.h:38
LVL1TGCTrigger::TGCHighPtBoard::m_TSB
TGCSlaveBoard * m_TSB[NumberOfChip][s_NumberOfTSBOut]
Definition: TGCHighPtBoard.h:93
LVL1TGCTrigger::TGCHighPtBoard::m_id
int m_id
Definition: TGCHighPtBoard.h:100
LVL1TGCTrigger::TGCHighPtBoard::m_TSBOut
TGCSlaveBoardOut * m_TSBOut[NumberOfChip][s_NumberOfTSBOut]
Definition: TGCHighPtBoard.h:95
LVL1TGCTrigger::TGCHighPtChipOut::setSel
void setSel(int chip, int iCandidate, int selIn)
Definition: TGCHighPtChipOut.h:127
LVL1TGCTrigger::TGCSlaveBoardOut::print
void print() const
Definition: TGCSlaveBoardOut.cxx:193
LVL1TGCTrigger::TGCHighPtBoard::createLowPtBoardOut
void createLowPtBoardOut()
Definition: TGCHighPtBoard.cxx:407
LVL1TGCTrigger::TGCHighPtBoard::highLowSelector
virtual void highLowSelector(int chip)
Definition: TGCHighPtBoard.cxx:274
LVL1TGCTrigger::TGCHighPtBoard::m_highPtBoardOut
TGCHighPtBoardOut * m_highPtBoardOut
Definition: TGCHighPtBoard.h:89
fitman.k
k
Definition: fitman.py:528
LVL1TGCTrigger::TGCHighPtBoard::m_maxDev
int m_maxDev
Definition: TGCHighPtBoard.h:108
LVL1TGCTrigger::TGCSlaveBoard::getRegion
TGCRegionType getRegion() const
Definition: TGCSlaveBoard.h:52
LVL1TGCTrigger::TGCStripHighPtBoard::getNonLinearDelta
int getNonLinearDelta(int dev) const
Definition: TGCStripHighPtBoard.cxx:384
LVL1TGCTrigger::TGCHighPtBoardOut::setHit
void setHit(int chip, int iData, bool hitIn)
Definition: TGCHighPtBoardOut.h:123