|
PhiMemoryImage | pattern1 (0x8000, 0, 0, 0x8000, 0, 0, 0x8000, 0, 0, 0x8000, 0, 0) |
|
PhiMemoryImage | pattern2 (0x10000, 0, 0, 0x8000, 0, 0, 0xc000, 0, 0, 0xc000, 0, 0) |
|
PhiMemoryImage | pattern3 (0x4000, 0, 0, 0x8000, 0, 0, 0x18000, 0, 0, 0x18000, 0, 0) |
|
PhiMemoryImage | pattern4 (0x60000, 0, 0, 0x8000, 0, 0, 0xe000, 0, 0, 0xe000, 0, 0) |
|
PhiMemoryImage | pattern5 (0x3000, 0, 0, 0x8000, 0, 0, 0x78000, 0, 0, 0x78000, 0, 0) |
|
PhiMemoryImage | pattern6 (0x780000, 0, 0, 0x8000, 0, 0, 0xff00, 0, 0, 0xff00, 0, 0) |
|
PhiMemoryImage | pattern7 (0xf00, 0, 0, 0x8000, 0, 0, 0x7f8000, 0, 0, 0x7f8000, 0, 0) |
|
PhiMemoryImage | pattern8 (0x7f800000, 0, 0, 0x8000, 0, 0, 0xff00, 0, 0, 0xff00, 0, 0) |
|
PhiMemoryImage | pattern9 (0xff, 0, 0, 0x8000, 0, 0, 0x7f8000, 0, 0, 0x7f8000, 0, 0) |
|
PhiMemoryImage | patterns [9] = {pattern8, pattern9, pattern6, pattern7, pattern4, pattern5, pattern2, pattern3, pattern1} |
|
variable declarations///
Definition at line 24 of file PatternRecognition.cc.
References a, b, PhiMemoryImage::BitShift(), ZonesOutput::convertedhits, PatternOutput::detected, PatternOutput::hits, i, relval_2017::k, QualityOutput::layer, convertSQLitetoXML_cfg::output, patt, PATTERN_SIZE, QualityOutput::rank, QualityOutput::straightness, tmp, detailsBasic3DVector::y, and ZonesOutput::zone.
Referenced by Patterns().
28 std::vector<int>
tmp (192, 0);
29 std::vector<std::vector<int>> lya (4,
tmp), stra (4,
tmp), ranka_t (4,
tmp), ranka (4,
tmp);
30 std::vector<PhiMemoryImage> Merged = Eout.
zone;
34 for(
int zone=0;zone<4;zone++){
36 for(
int b=0;
b<192;
b++){
43 bool zona[12] = {
false};
48 else if((
b-15) < 127){
55 for(
int yy=0;yy != 12;yy++){
56 zona[yy] = patt[
y][yy] & Merged[zone][yy];
59 if(zona[0] || zona[1] || zona[2]){ly[
y] += 4;}
60 if(zona[3] || zona[4] || zona[5]){ly[
y] += 2;}
61 if(zona[6] || zona[7] || zona[8] || zona[9] || zona[10] || zona[11]){ly[
y] += 1;}
64 if( (ly[
y] != 0) && (ly[
y] != 1) && (ly[
y] != 2) && (ly[
y] != 4) ){
67 if((srt[
y] & 1) != 0){qu[
y] += 2;}
68 if((srt[y] & 2) != 0){qu[
y] += 8;}
69 if((srt[y] & 4) != 0){qu[
y] += 32;}
70 if((ly[y] & 1) != 0){qu[
y] += 1;}
71 if((ly[y] & 2) != 0){qu[
y] += 4;}
72 if((ly[y] & 4) != 0){qu[
y] += 16;}
81 if(qu[
a] > ranka_t[zone][
b]){
83 ranka_t[zone][
b] = qu[
a];
85 stra[zone][
b] = srt[
a];
96 for(
int zone=0;zone<4;zone++){
98 for(
int k=0;
k<192;
k++){
100 int qr = 0, ql = 0, qc = ranka_t[zone][
k];
102 if(
k>0){qr=ranka_t[zone][
k-1];}
103 if(
k<191){ql=ranka_t[zone][
k+1];}
106 if((qc <= ql) || (qc < qr)){qc = 0;}
PhiMemoryImage patterns[9]
std::vector< PhiMemoryImage > zone
std::vector< ConvertedHit > convertedhits
std::vector< std::vector< double > > tmp
std::vector< ConvertedHit > hits