ATLAS Offline Software
Functions
ExtractCondensedIBLhits.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

unsigned int divideHits (unsigned int &sourceWord, const unsigned int startBit, const unsigned int endBit)
 Push bits from a sourceWord to a target word, returns true if successful. More...
 
int divideHits (int &sourceWord, const unsigned int startBit, const unsigned int endBit)
 
unsigned int shiftRight (unsigned int &number, const int shifting)
 
int shiftRight (int &number, const int shifting)
 

Detailed Description

Header file for utility functions shiftRight and DivideHITS

Author
Laura Franconi
Date
10 July 2013

Definition in file ExtractCondensedIBLhits.h.

Function Documentation

◆ divideHits() [1/2]

int divideHits ( int &  sourceWord,
const unsigned int  startBit,
const unsigned int  endBit 
)

Definition at line 53 of file ExtractCondensedIBLhits.cxx.

53  {
54  int targetWord = shiftRight (sourceWord, startBit);
55  // cout << "source Word: " <<hex << sourceWord << "\t"<< dec << "start bit: "<< startBit << "\t"<< "end bit: " << endBit << "\t";
56  int length = endBit - startBit + 1;
57  // std::cout << "length: " << length;
58  unsigned int mask = 0;
59  switch (length)
60  {
61  case 8: mask = 0xFF; // mask for the tot bits in the hitword
62  break;
63  case 4: mask = 0xF; // mask for the row bits in the hitword
64  break;
65  }
66  if (mask == 0) {
67  std::cout << "error: length of the info is not correct " << std::endl;
68  }
69  targetWord &= mask;
70  //std::cout << " => after shifting & masking: " << std::hex << targetWord<< std::dec << std::endl;
71 
72  return targetWord;
73 }

◆ divideHits() [2/2]

unsigned int divideHits ( unsigned int &  sourceWord,
const unsigned int  startBit,
const unsigned int  endBit 
)

Push bits from a sourceWord to a target word, returns true if successful.

Definition at line 28 of file ExtractCondensedIBLhits.cxx.

28  {
29  unsigned int targetWord = shiftRight (sourceWord, startBit);
30  // cout << "source Word: " << std::hex << sourceWord << "\t"<< std::dec << "start bit: "<< startBit << "\t"<< "end bit: " << endBit << "\t";
31  int length = endBit - startBit + 1;
32  // std::cout << "length: " << length;
33  unsigned int mask = 0;
34  switch (length)
35  {
36  case 7: mask = 0x7F; // mask for the column bits in the hitword
37  break;
38  case 8: mask = 0xFF; // mask for the tot bits in the hitword
39  break;
40  case 9: mask = 0x1FF; // mask for the row bits in the hitword
41  break;
42  }
43  if (mask == 0) {
44  std::cout << "error: length of the info is not correct " << std::endl;
45  }
46  targetWord &= mask;
47  //std::cout << " => after shifting & masking: " << std::hex << targetWord<< std::dec << std::endl;
48 
49  return targetWord;
50 }

◆ shiftRight() [1/2]

int shiftRight ( int &  number,
const int  shifting 
)

Definition at line 22 of file ExtractCondensedIBLhits.cxx.

22  {
23  return number >> shifting;
24 }

◆ shiftRight() [2/2]

unsigned int shiftRight ( unsigned int &  number,
const int  shifting 
)

Definition at line 17 of file ExtractCondensedIBLhits.cxx.

17  {
18  return number >> shifting;
19 }
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
shiftRight
unsigned int shiftRight(unsigned int &number, const int shifting)
Definition: ExtractCondensedIBLhits.cxx:17
python.selection.number
number
Definition: selection.py:20
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26