12 #define PATTERN_SIZE 9
13 PhiMemoryImage pattern1 (0x8000,0,0,0x8000,0,0,0x8000,0,0,0x8000,0,0);
14 PhiMemoryImage pattern2 (0x10000,0,0,0x8000,0,0,0xc000,0,0,0xc000,0,0);
15 PhiMemoryImage pattern3 (0x4000,0,0,0x8000,0,0,0x18000,0,0,0x18000,0,0);
16 PhiMemoryImage pattern4 (0x60000,0,0,0x8000,0,0,0xe000,0,0,0xe000,0,0);
17 PhiMemoryImage pattern5 (0x3000,0,0,0x8000,0,0,0x78000,0,0,0x78000,0,0);
18 PhiMemoryImage pattern6 (0x780000,0,0,0x8000,0,0,0xff00,0,0,0xff00,0,0);
19 PhiMemoryImage pattern7 (0xf00,0,0,0x8000,0,0,0x7f8000,0,0,0x7f8000,0,0);
20 PhiMemoryImage pattern8 (0x7f800000,0,0,0x8000,0,0,0xff00,0,0,0xff00,0,0);
21 PhiMemoryImage pattern9 (0xff,0,0,0x8000,0,0,0x7f8000,0,0,0x7f8000,0,0);
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;}
128 std::vector<PatternOutput>
output (3,tmp);
143 for(
int zz=0;zz<4;zz++){
144 for(
int z = 0;
z<192;
z++){
PhiMemoryImage pattern1(0x8000, 0, 0, 0x8000, 0, 0, 0x8000, 0, 0, 0x8000, 0, 0)
PhiMemoryImage pattern7(0xf00, 0, 0, 0x8000, 0, 0, 0x7f8000, 0, 0, 0x7f8000, 0, 0)
void PrintQuality(QualityOutput out)
PhiMemoryImage patterns[9]
PhiMemoryImage pattern5(0x3000, 0, 0, 0x8000, 0, 0, 0x78000, 0, 0, 0x78000, 0, 0)
PatternOutput DetectPatterns(ZonesOutput Eout)
std::vector< PatternOutput > Patterns(std::vector< ZonesOutput > Zones)
std::vector< PhiMemoryImage > zone
PhiMemoryImage pattern9(0xff, 0, 0, 0x8000, 0, 0, 0x7f8000, 0, 0, 0x7f8000, 0, 0)
std::vector< ConvertedHit > convertedhits
std::vector< std::vector< double > > tmp
PhiMemoryImage pattern8(0x7f800000, 0, 0, 0x8000, 0, 0, 0xff00, 0, 0, 0xff00, 0, 0)
PhiMemoryImage pattern4(0x60000, 0, 0, 0x8000, 0, 0, 0xe000, 0, 0, 0xe000, 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)
std::vector< ZonesOutput > Zones(std::vector< std::vector< ConvertedHit >> Hits)
std::vector< ConvertedHit > hits
PhiMemoryImage pattern6(0x780000, 0, 0, 0x8000, 0, 0, 0xff00, 0, 0, 0xff00, 0, 0)