From 9825b675358063500f800f84d4495249e9141cdd Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 11:24:40 -0400 Subject: [PATCH 1/8] Re #7070. Unformated version of survey/alignment values. --- PG3_geom_2013_txt.csv | 120 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 PG3_geom_2013_txt.csv diff --git a/PG3_geom_2013_txt.csv b/PG3_geom_2013_txt.csv new file mode 100644 index 0000000..d3c2782 --- /dev/null +++ b/PG3_geom_2013_txt.csv @@ -0,0 +1,120 @@ +B2_1,57.967496,1.163795,-1.045114 +B2_2,57.855079,1.213720,-0.668273 +B2_3,58.171034,1.925040,-0.669014 +B2_4,58.284018,1.874960,-1.045148 +B3_1,57.846064,1.219319,-0.626904 +B3_2,57.789431,1.244210,-0.236872 +B3_3,58.108122,1.955365,-0.237555 +B3_4,58.164590,1.929225,-0.627407 +B4_1,57.786293,1.244037,-0.193533 +B4_2,57.786088,1.245507,0.203120 +B4_3,58.103564,1.955930,0.201390 +B4_4,58.104137,1.955246,-0.194677 +B5_1,57.791118,1.243313,0.243675 +B5_2,57.847730,1.217441,0.635344 +B5_3,58.165061,1.929125,0.635866 +B5_4,58.108648,1.953542,0.246110 +B6_1,57.856388,1.215041,0.678236 +B6_2,57.968583,1.165708,1.053728 +B6_3,58.285106,1.875597,1.052865 +B6_4,58.171197,1.920101,0.676977 +C2_1,58.353231,1.857034,-1.038249 +C2_2,58.262246,1.939072,-0.662325 +C2_3,58.774453,2.525435,-0.662660 +C2_4,58.865438,2.443397,-1.038584 +C3_1,58.252970,1.945852,-0.621365 +C3_2,58.205673,1.987325,-0.230481 +C3_3,58.719164,2.573067,-0.232528 +C3_4,58.766462,2.531593,-0.623412 +C4_1,58.204235,1.988630,-0.187544 +C4_2,58.204590,1.989986,0.208182 +C4_3,58.716171,2.576886,0.207212 +C4_4,58.716478,2.575910,-0.188270 +C5_1,58.205482,1.988943,0.250522 +C5_2,58.250217,1.947402,0.642238 +C5_3,58.762779,2.533804,0.641609 +C5_4,58.717450,2.573489,0.252607 +C6_1,58.259819,1.940003,0.683660 +C6_2,58.351955,1.862152,1.059428 +C6_3,58.862555,2.447635,1.060251 +C6_4,58.770418,2.525485,0.684484 +D2_1,58.879125,2.453227,-1.040371 +D2_2,58.812259,2.554795,-0.665644 +D2_3,59.462929,2.972239,-0.670055 +D2_4,59.529795,2.870671,-1.044783 +D3_1,58.806885,2.561998,-0.622348 +D3_2,58.773634,2.614802,-0.231675 +D3_3,59.427063,3.037178,-0.233351 +D3_4,59.460314,2.984374,-0.624024 +D4_1,58.770616,2.620194,-0.190515 +D4_2,58.769166,2.619645,0.205687 +D4_3,59.422589,3.040731,0.203468 +D4_4,59.424040,3.041280,-0.192735 +D5_1,58.777027,2.619699,0.250721 +D5_2,58.803435,2.566876,0.639942 +D5_3,59.458763,2.988972,0.639948 +D5_4,59.425015,3.037799,0.250632 +D6_1,58.812780,2.557521,0.682507 +D6_2,58.876842,2.455350,1.055137 +D6_3,59.529622,2.875519,1.055690 +D6_4,59.465560,2.977690,0.683060 +E2_1,59.545305,2.881937,-1.037930 +E2_2,59.506829,2.993218,-0.668423 +E2_3,60.243968,3.228587,-0.673212 +E2_4,60.282444,3.117306,-1.042719 +E3_1,59.502302,3.002985,-0.626142 +E3_2,59.484208,3.061121,-0.234547 +E3_3,60.225992,3.298972,-0.236037 +E3_4,60.242018,3.240790,-0.625368 +E4_1,59.488078,3.064539,-0.181767 +E4_2,59.482653,3.062635,0.204573 +E4_3,60.224161,3.300433,0.202082 +E4_4,60.223816,3.301432,-0.192066 +E5_1,59.483822,3.059766,0.248087 +E5_2,59.506678,3.002140,0.636063 +E5_3,60.236634,3.236060,0.636615 +E5_4,60.226333,3.298214,0.247084 +F2_1,60.291970,3.115583,-1.042385 +F2_2,60.282160,3.237517,-0.666388 +F2_3,61.058905,3.295846,-0.665958 +F2_4,61.068263,3.173808,-1.042332 +F3_1,60.281563,3.246755,-0.623651 +F3_2,60.277548,3.309078,-0.233095 +F3_3,61.053670,3.368084,-0.233111 +F3_4,61.057624,3.305625,-0.624038 +F4_1,60.276625,3.311038,-0.188752 +F4_2,60.277950,3.311212,0.204441 +F4_3,61.053154,3.369677,0.204427 +F4_4,61.052500,3.369881,-0.189343 +F5_1,60.275944,3.307985,0.248928 +F5_2,60.281419,3.244850,0.638005 +F5_3,61.058206,3.304663,0.637689 +F5_4,61.050230,3.366787,0.248123 +G3_1,61.083825,3.178938,-0.610081 +G3_2,61.087569,3.187928,-0.216658 +G3_3,61.859743,3.092149,-0.221739 +G3_4,61.855975,3.082364,-0.615210 +G4_1,61.083289,3.171548,-0.195333 +G4_2,61.087888,3.169649,0.199201 +G4_3,61.857521,3.077450,0.195221 +G4_4,61.855369,3.078851,-0.198490 +H3_1,61.883526,3.071899,-0.608548 +H3_2,61.884556,3.066601,-0.213786 +H3_3,62.616036,2.802013,-0.221960 +H3_4,62.614460,2.807628,-0.614325 +H4_1,61.880764,3.061826,-0.202408 +H4_2,61.882144,3.056929,0.192679 +H4_3,62.615590,2.798041,0.189847 +H4_4,62.615580,2.803614,-0.206488 +I4_1,62.603107,2.765000,-0.206922 +I4_2,62.606223,2.765190,0.188266 +I4_3,63.279071,2.371883,0.183147 +I4_4,63.275791,2.371580,-0.213436 +J4_1,63.285682,2.348077,-0.210754 +J4_2,63.281420,2.343852,0.184341 +J4_3,63.846931,1.809552,0.186169 +J4_4,63.851097,1.812698,-0.207430 +K4_1,63.863003,1.807522,-0.212620 +K4_2,63.864620,1.807786,0.184897 +K4_3,64.323014,1.177160,0.180570 +K4_4,64.321620,1.178278,-0.214724 From 7b3ee59fb0c4d8f37fb766d500ecd779f0c991b6 Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 15:23:53 -0400 Subject: [PATCH 2/8] Change rectangle.center to return a Vector object. --- rectangle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rectangle.py b/rectangle.py index 3e4fd03..e6d56d6 100644 --- a/rectangle.py +++ b/rectangle.py @@ -475,7 +475,7 @@ def __height(self): width = property(__width, doc="Width of the rectangle") height = property(__height, doc="Height of the rectangle") - center = property(lambda self: self.__center[:], + center = property(lambda self: Vector(self.__center[:]), doc="Center of the rectangle") orientation = property(lambda self: self.__orient[:], doc="Orientation as a set of three basis vectors") From 2630569ce833047494b7a677b3fb8e49570a8910 Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 15:25:04 -0400 Subject: [PATCH 3/8] Moved L1 to be a file level constant --- pg3_geometry.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pg3_geometry.py b/pg3_geometry.py index 88a5b44..1fd9288 100755 --- a/pg3_geometry.py +++ b/pg3_geometry.py @@ -16,6 +16,9 @@ x_num3 = 308 y_num3 = 16 +# primary flight path - negative b/c it is upstream +L1 = -60.0 + def toEasier(label): letter = "ABCDEFGHIJKL".index(label[0]) number = int(label[1:]) @@ -120,7 +123,6 @@ def rectangle(self, label, tolerance_len): "Vickie Lynch", "Peter Peterson", "Janik Zikovsky"] - L1 = -60.0 # boiler plate stuff instr = MantidGeom(inst_name, From 862aa3370b3c1d20e6a19919d5952a3d1706faae Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 15:25:38 -0400 Subject: [PATCH 4/8] Added a check for file existence for better error reporting --- sns_ncolumn.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sns_ncolumn.py b/sns_ncolumn.py index b9ec331..41aa503 100644 --- a/sns_ncolumn.py +++ b/sns_ncolumn.py @@ -1,11 +1,16 @@ #!/usr/bin/env python +import os + def readFile(filename, hasLabels=True): """This loads in a n-column ascii file and converts it into a dictionary where the column headings are the keys, and the columns are as a list in the value. If the "hasLabels" variable is False then the keys are the column numbers.""" + if not os.path.exists(filename): + raise RuntimeError("File '%s' does not exist" % filename) + # load the file datafile = open(filename, "r") lines = [] From 0abe083a80e1b79976821cf12d96de149f8cc153 Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 15:26:00 -0400 Subject: [PATCH 5/8] Adding script to calculate how close to csv files are. The result of minimizing two is also being added. --- PG3_geom_2013_txt.csv | 241 +++++++++++++++++++++--------------------- pg3_compare_csv | 85 +++++++++++++++ 2 files changed, 206 insertions(+), 120 deletions(-) create mode 100755 pg3_compare_csv diff --git a/PG3_geom_2013_txt.csv b/PG3_geom_2013_txt.csv index d3c2782..6931c8c 100644 --- a/PG3_geom_2013_txt.csv +++ b/PG3_geom_2013_txt.csv @@ -1,120 +1,121 @@ -B2_1,57.967496,1.163795,-1.045114 -B2_2,57.855079,1.213720,-0.668273 -B2_3,58.171034,1.925040,-0.669014 -B2_4,58.284018,1.874960,-1.045148 -B3_1,57.846064,1.219319,-0.626904 -B3_2,57.789431,1.244210,-0.236872 -B3_3,58.108122,1.955365,-0.237555 -B3_4,58.164590,1.929225,-0.627407 -B4_1,57.786293,1.244037,-0.193533 -B4_2,57.786088,1.245507,0.203120 -B4_3,58.103564,1.955930,0.201390 -B4_4,58.104137,1.955246,-0.194677 -B5_1,57.791118,1.243313,0.243675 -B5_2,57.847730,1.217441,0.635344 -B5_3,58.165061,1.929125,0.635866 -B5_4,58.108648,1.953542,0.246110 -B6_1,57.856388,1.215041,0.678236 -B6_2,57.968583,1.165708,1.053728 -B6_3,58.285106,1.875597,1.052865 -B6_4,58.171197,1.920101,0.676977 -C2_1,58.353231,1.857034,-1.038249 -C2_2,58.262246,1.939072,-0.662325 -C2_3,58.774453,2.525435,-0.662660 -C2_4,58.865438,2.443397,-1.038584 -C3_1,58.252970,1.945852,-0.621365 -C3_2,58.205673,1.987325,-0.230481 -C3_3,58.719164,2.573067,-0.232528 -C3_4,58.766462,2.531593,-0.623412 -C4_1,58.204235,1.988630,-0.187544 -C4_2,58.204590,1.989986,0.208182 -C4_3,58.716171,2.576886,0.207212 -C4_4,58.716478,2.575910,-0.188270 -C5_1,58.205482,1.988943,0.250522 -C5_2,58.250217,1.947402,0.642238 -C5_3,58.762779,2.533804,0.641609 -C5_4,58.717450,2.573489,0.252607 -C6_1,58.259819,1.940003,0.683660 -C6_2,58.351955,1.862152,1.059428 -C6_3,58.862555,2.447635,1.060251 -C6_4,58.770418,2.525485,0.684484 -D2_1,58.879125,2.453227,-1.040371 -D2_2,58.812259,2.554795,-0.665644 -D2_3,59.462929,2.972239,-0.670055 -D2_4,59.529795,2.870671,-1.044783 -D3_1,58.806885,2.561998,-0.622348 -D3_2,58.773634,2.614802,-0.231675 -D3_3,59.427063,3.037178,-0.233351 -D3_4,59.460314,2.984374,-0.624024 -D4_1,58.770616,2.620194,-0.190515 -D4_2,58.769166,2.619645,0.205687 -D4_3,59.422589,3.040731,0.203468 -D4_4,59.424040,3.041280,-0.192735 -D5_1,58.777027,2.619699,0.250721 -D5_2,58.803435,2.566876,0.639942 -D5_3,59.458763,2.988972,0.639948 -D5_4,59.425015,3.037799,0.250632 -D6_1,58.812780,2.557521,0.682507 -D6_2,58.876842,2.455350,1.055137 -D6_3,59.529622,2.875519,1.055690 -D6_4,59.465560,2.977690,0.683060 -E2_1,59.545305,2.881937,-1.037930 -E2_2,59.506829,2.993218,-0.668423 -E2_3,60.243968,3.228587,-0.673212 -E2_4,60.282444,3.117306,-1.042719 -E3_1,59.502302,3.002985,-0.626142 -E3_2,59.484208,3.061121,-0.234547 -E3_3,60.225992,3.298972,-0.236037 -E3_4,60.242018,3.240790,-0.625368 -E4_1,59.488078,3.064539,-0.181767 -E4_2,59.482653,3.062635,0.204573 -E4_3,60.224161,3.300433,0.202082 -E4_4,60.223816,3.301432,-0.192066 -E5_1,59.483822,3.059766,0.248087 -E5_2,59.506678,3.002140,0.636063 -E5_3,60.236634,3.236060,0.636615 -E5_4,60.226333,3.298214,0.247084 -F2_1,60.291970,3.115583,-1.042385 -F2_2,60.282160,3.237517,-0.666388 -F2_3,61.058905,3.295846,-0.665958 -F2_4,61.068263,3.173808,-1.042332 -F3_1,60.281563,3.246755,-0.623651 -F3_2,60.277548,3.309078,-0.233095 -F3_3,61.053670,3.368084,-0.233111 -F3_4,61.057624,3.305625,-0.624038 -F4_1,60.276625,3.311038,-0.188752 -F4_2,60.277950,3.311212,0.204441 -F4_3,61.053154,3.369677,0.204427 -F4_4,61.052500,3.369881,-0.189343 -F5_1,60.275944,3.307985,0.248928 -F5_2,60.281419,3.244850,0.638005 -F5_3,61.058206,3.304663,0.637689 -F5_4,61.050230,3.366787,0.248123 -G3_1,61.083825,3.178938,-0.610081 -G3_2,61.087569,3.187928,-0.216658 -G3_3,61.859743,3.092149,-0.221739 -G3_4,61.855975,3.082364,-0.615210 -G4_1,61.083289,3.171548,-0.195333 -G4_2,61.087888,3.169649,0.199201 -G4_3,61.857521,3.077450,0.195221 -G4_4,61.855369,3.078851,-0.198490 -H3_1,61.883526,3.071899,-0.608548 -H3_2,61.884556,3.066601,-0.213786 -H3_3,62.616036,2.802013,-0.221960 -H3_4,62.614460,2.807628,-0.614325 -H4_1,61.880764,3.061826,-0.202408 -H4_2,61.882144,3.056929,0.192679 -H4_3,62.615590,2.798041,0.189847 -H4_4,62.615580,2.803614,-0.206488 -I4_1,62.603107,2.765000,-0.206922 -I4_2,62.606223,2.765190,0.188266 -I4_3,63.279071,2.371883,0.183147 -I4_4,63.275791,2.371580,-0.213436 -J4_1,63.285682,2.348077,-0.210754 -J4_2,63.281420,2.343852,0.184341 -J4_3,63.846931,1.809552,0.186169 -J4_4,63.851097,1.812698,-0.207430 -K4_1,63.863003,1.807522,-0.212620 -K4_2,63.864620,1.807786,0.184897 -K4_3,64.323014,1.177160,0.180570 -K4_4,64.321620,1.178278,-0.214724 +Point_ID Z X Y +B2_3 57.967496 1.163795 -1.045114 +B2_4 57.855079 1.213720 -0.668273 +B2_1 58.171034 1.925040 -0.669014 +B2_2 58.284018 1.874960 -1.045148 +B3_3 57.846064 1.219319 -0.626904 +B3_4 57.789431 1.244210 -0.236872 +B3_1 58.108122 1.955365 -0.237555 +B3_2 58.164590 1.929225 -0.627407 +B4_3 57.786293 1.244037 -0.193533 +B4_4 57.786088 1.245507 0.203120 +B4_1 58.103564 1.955930 0.201390 +B4_2 58.104137 1.955246 -0.194677 +B5_3 57.791118 1.243313 0.243675 +B5_4 57.847730 1.217441 0.635344 +B5_1 58.165061 1.929125 0.635866 +B5_2 58.108648 1.953542 0.246110 +B6_3 57.856388 1.215041 0.678236 +B6_4 57.968583 1.165708 1.053728 +B6_1 58.285106 1.875597 1.052865 +B6_2 58.171197 1.920101 0.676977 +C2_3 58.353231 1.857034 -1.038249 +C2_4 58.262246 1.939072 -0.662325 +C2_1 58.774453 2.525435 -0.662660 +C2_2 58.865438 2.443397 -1.038584 +C3_3 58.252970 1.945852 -0.621365 +C3_4 58.205673 1.987325 -0.230481 +C3_1 58.719164 2.573067 -0.232528 +C3_2 58.766462 2.531593 -0.623412 +C4_3 58.204235 1.988630 -0.187544 +C4_4 58.204590 1.989986 0.208182 +C4_1 58.716171 2.576886 0.207212 +C4_2 58.716478 2.575910 -0.188270 +C5_3 58.205482 1.988943 0.250522 +C5_4 58.250217 1.947402 0.642238 +C5_1 58.762779 2.533804 0.641609 +C5_2 58.717450 2.573489 0.252607 +C6_3 58.259819 1.940003 0.683660 +C6_4 58.351955 1.862152 1.059428 +C6_1 58.862555 2.447635 1.060251 +C6_2 58.770418 2.525485 0.684484 +D2_3 58.879125 2.453227 -1.040371 +D2_4 58.812259 2.554795 -0.665644 +D2_1 59.462929 2.972239 -0.670055 +D2_2 59.529795 2.870671 -1.044783 +D3_3 58.806885 2.561998 -0.622348 +D3_4 58.773634 2.614802 -0.231675 +D3_1 59.427063 3.037178 -0.233351 +D3_2 59.460314 2.984374 -0.624024 +D4_3 58.770616 2.620194 -0.190515 +D4_4 58.769166 2.619645 0.205687 +D4_1 59.422589 3.040731 0.203468 +D4_2 59.424040 3.041280 -0.192735 +D5_3 58.777027 2.619699 0.250721 +D5_4 58.803435 2.566876 0.639942 +D5_1 59.458763 2.988972 0.639948 +D5_2 59.425015 3.037799 0.250632 +D6_3 58.812780 2.557521 0.682507 +D6_4 58.876842 2.455350 1.055137 +D6_1 59.529622 2.875519 1.055690 +D6_2 59.465560 2.977690 0.683060 +E2_3 59.545305 2.881937 -1.037930 +E2_4 59.506829 2.993218 -0.668423 +E2_1 60.243968 3.228587 -0.673212 +E2_2 60.282444 3.117306 -1.042719 +E3_3 59.502302 3.002985 -0.626142 +E3_4 59.484208 3.061121 -0.234547 +E3_1 60.225992 3.298972 -0.236037 +E3_2 60.242018 3.240790 -0.625368 +E4_3 59.488078 3.064539 -0.181767 +E4_4 59.482653 3.062635 0.204573 +E4_1 60.224161 3.300433 0.202082 +E4_2 60.223816 3.301432 -0.192066 +E5_3 59.483822 3.059766 0.248087 +E5_4 59.506678 3.002140 0.636063 +E5_1 60.236634 3.236060 0.636615 +E5_2 60.226333 3.298214 0.247084 +F2_3 60.291970 3.115583 -1.042385 +F2_4 60.282160 3.237517 -0.666388 +F2_1 61.058905 3.295846 -0.665958 +F2_2 61.068263 3.173808 -1.042332 +F3_3 60.281563 3.246755 -0.623651 +F3_4 60.277548 3.309078 -0.233095 +F3_1 61.053670 3.368084 -0.233111 +F3_2 61.057624 3.305625 -0.624038 +F4_3 60.276625 3.311038 -0.188752 +F4_4 60.277950 3.311212 0.204441 +F4_1 61.053154 3.369677 0.204427 +F4_2 61.052500 3.369881 -0.189343 +F5_3 60.275944 3.307985 0.248928 +F5_4 60.281419 3.244850 0.638005 +F5_1 61.058206 3.304663 0.637689 +F5_2 61.050230 3.366787 0.248123 +G3_3 61.083825 3.178938 -0.610081 +G3_4 61.087569 3.187928 -0.216658 +G3_1 61.859743 3.092149 -0.221739 +G3_2 61.855975 3.082364 -0.615210 +G4_3 61.083289 3.171548 -0.195333 +G4_4 61.087888 3.169649 0.199201 +G4_1 61.857521 3.077450 0.195221 +G4_2 61.855369 3.078851 -0.198490 +H3_3 61.883526 3.071899 -0.608548 +H3_4 61.884556 3.066601 -0.213786 +H3_1 62.616036 2.802013 -0.221960 +H3_2 62.614460 2.807628 -0.614325 +H4_3 61.880764 3.061826 -0.202408 +H4_4 61.882144 3.056929 0.192679 +H4_1 62.615590 2.798041 0.189847 +H4_2 62.615580 2.803614 -0.206488 +I4_3 62.603107 2.765000 -0.206922 +I4_4 62.606223 2.765190 0.188266 +I4_1 63.279071 2.371883 0.183147 +I4_2 63.275791 2.371580 -0.213436 +J4_3 63.285682 2.348077 -0.210754 +J4_4 63.281420 2.343852 0.184341 +J4_1 63.846931 1.809552 0.186169 +J4_2 63.851097 1.812698 -0.207430 +K4_3 63.863003 1.807522 -0.212620 +K4_4 63.864620 1.807786 0.184897 +K4_1 64.323014 1.177160 0.180570 +K4_2 64.321620 1.178278 -0.214724 diff --git a/pg3_compare_csv b/pg3_compare_csv new file mode 100755 index 0000000..b92da94 --- /dev/null +++ b/pg3_compare_csv @@ -0,0 +1,85 @@ +#!/usr/bin/env python + +import logging +from pg3_geometry import CornersFile, L1 +from rectangle import Rectangle, Vector + +LOGLEVEL = "WARNING" + +def diffRect(left, right, order, tolerance): + left = left.points + right = createRect(right, order, tolerance).points + diff = 0. + for i in range(4): + diff += (left[i] - right[i]).length + return diff + +def createRect(points, order, tolerance): + mypoints = [ points[i] for i in order] + return Rectangle(mypoints[0], mypoints[1], mypoints[2], mypoints[3], + tolerance) + +if __name__ == "__main__": + logging.basicConfig(format='%(levelname)s:%(message)s', + level=LOGLEVEL) + import sys + if len(sys.argv) != 3: + print "usage: %s " + + left = sys.argv[1] + right = sys.argv[2] + + left = CornersFile(left, L1) + right = CornersFile(right, L1) + + banks = [ + "B2", "B3", "B4", "B5",# "B6", + "C2", "C3", "C4", #"C5", "C6" + "D2", "D3", "D4", #"D5", "D6", + "E2", "E3", #"E4", "E5", + "F2", "F3", "F4", "F5", + "G3", "G4", + "H3", "H4", + "I4", + "J4", + "K4" + ] + tol = .006 + orders = [[0,1,2,3], [1,2,3,0], [2,3,0,1], [3,0,1,2], # keep order + [3,2,1,0], [2,1,0,3], [1,0,3,2], [0,3,2,1]] # reverse order + + totalToReorder = 0 + + # go through all banks + for bank in banks: + # stupid starting values + minDiff = 100000. + orderBest = [] + + # generate the starting rectangles + logging.info("***** %s" % bank) + lftRect = left.rectangle(bank, tol) + rgtRect = right.rectangle(bank, tol) + + # go through all orders + for order in orders: + diff = diffRect(lftRect, rgtRect.points, order, tol) + logging.debug("%s %f" % (str(order), diff)) + if diff < minDiff: + minDiff = diff + orderBest = order + + if orderBest == [0,1,2,3]: + logging.info("%s current order is the best" % bank) + continue + else: + totalToReorder += 1 + + # easier to understand 1-indexed arrays + orderBest = [ i+1 for i in orderBest] + # print out the best + print "%3s %s - diff=%.3f centerDiff=%.3f" % (bank, \ + str(orderBest), minDiff, \ + (lftRect.center - rgtRect.center).length) + if totalToReorder == 0: + print "No banks need to be reordered" From 13c9a305e8cc48edabce04c0b86eb2e7664aec3c Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Mon, 22 Jul 2013 16:07:45 -0400 Subject: [PATCH 6/8] Updated to write out new survey/alignment values. --- pg3_geometry.py | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/pg3_geometry.py b/pg3_geometry.py index 1fd9288..843a065 100755 --- a/pg3_geometry.py +++ b/pg3_geometry.py @@ -77,14 +77,15 @@ def addGroup(corners, columns, labels): extra_attrs={"idstart":offset, 'idfillbyfirst':'y', 'idstepbyrow':idstepbyrow} det = instr.makeDetectorElement(panel_name, root=col, extra_attrs=extra_attrs) try: - corners.rectangle(label, .006).makeLocation(instr, det, name, technique="uv") + corners.rectangle(label, .014).makeLocation(instr, det, name, technique="uv") except ValueError, e: print "Failed to generate '" + label \ + "' from corners. Trying from engineered centers." detinfo = readFile("PG3_geom.txt") addCenterRectangle(instr, det, name, detinfo, detinfo["label"].index(label)) -v3_panels = ['B2', 'B3', 'B4', 'B5', 'B6', 'K4', 'L4'] +# for the next cycle they will all be low resolution +v3_panels = []#'B2', 'B3', 'B4', 'B5', 'B6', 'K4', 'L4'] class CornersFile: def __init__(self, filename, L1=0.): @@ -188,10 +189,10 @@ def rectangle(self, label, tolerance_len): instr.addComponent(name, root=group) # the actual work of adding the detectors - corners = CornersFile("PG3_geom_2011_txt.csv", abs(L1)) + corners = CornersFile("PG3_geom_2013_txt.csv", abs(L1)) addGroup(corners, cols[4], ["B2", "B3", "B4", "B5", "B6"]) - addGroup(corners, cols[3], ['C2', 'C3', 'C4', 'C5', 'D2', 'D3', 'D4']) - addGroup(corners, cols[2], ['E2', 'E3', 'E4', 'F2', 'F3', 'F4']) + addGroup(corners, cols[3], ['C2', 'C3', 'C4', 'C5', 'D2', 'D3', 'D4', 'D5', 'D6']) + addGroup(corners, cols[2], ['E2', 'E3', 'E4', 'E5', 'F2', 'F3', 'F4', 'F5']) addGroup(corners, cols[1], ['G3', 'G4', 'H3', 'H4', 'I4', 'J4', 'K4', 'L4']) # add the panel shape @@ -206,17 +207,18 @@ def rectangle(self, label, tolerance_len): "ypixels":y_num2, "ystart":y_offset2, "ystep":y_delta2 }) le.SubElement(det, "properties") - instr.addComment(" Version 3 Detector Panel (16x308)") - x_delta3 = x_extent/float(x_num3) - x_offset3 = x_delta3*(1.-float(x_num3))/2. - y_delta3 = y_extent/float(y_num3) - y_offset3 = y_delta3*(1.-float(y_num3))/2. - det = instr.makeTypeElement("panel_v3", - extra_attrs={"is":"rectangular_detector", "type":"pixel_v3", - "xpixels":x_num3, "xstart":x_offset3, "xstep":x_delta3, - "ypixels":y_num3, "ystart":y_offset3, "ystep":y_delta3 - }) - le.SubElement(det, "properties") + if len(v3_panels) > 0: + instr.addComment(" Version 3 Detector Panel (16x308)") + x_delta3 = x_extent/float(x_num3) + x_offset3 = x_delta3*(1.-float(x_num3))/2. + y_delta3 = y_extent/float(y_num3) + y_offset3 = y_delta3*(1.-float(y_num3))/2. + det = instr.makeTypeElement("panel_v3", + extra_attrs={"is":"rectangular_detector", "type":"pixel_v3", + "xpixels":x_num3, "xstart":x_offset3, "xstep":x_delta3, + "ypixels":y_num3, "ystart":y_offset3, "ystep":y_delta3 + }) + le.SubElement(det, "properties") # shape for monitors instr.addComment(" Shape for Monitors") @@ -231,13 +233,14 @@ def rectangle(self, label, tolerance_len): [-.5*x_delta2, -.5*y_delta2, -0.0001], [ .5*x_delta2, -.5*y_delta2, 0.0], shape_id="pixel-shape") - instr.addComment(" Pixel for Version 3 Detectors (16x308)") - instr.addCuboidPixel("pixel_v3", - [-.5*x_delta3, -.5*y_delta3, 0.0], - [-.5*x_delta3, .5*y_delta3, 0.0], - [-.5*x_delta3, -.5*y_delta3, -0.0001], - [ .5*x_delta3, -.5*y_delta3, 0.0], - shape_id="pixel-shape") + if len(v3_panels) > 0: + instr.addComment(" Pixel for Version 3 Detectors (16x308)") + instr.addCuboidPixel("pixel_v3", + [-.5*x_delta3, -.5*y_delta3, 0.0], + [-.5*x_delta3, .5*y_delta3, 0.0], + [-.5*x_delta3, -.5*y_delta3, -0.0001], + [ .5*x_delta3, -.5*y_delta3, 0.0], + shape_id="pixel-shape") # monitor ids instr.addComment("MONITOR IDs") From fb338693473abd5bed485c6b2c5498782e97c8a2 Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Tue, 23 Jul 2013 14:27:04 -0400 Subject: [PATCH 7/8] Adding C6 back in --- pg3_geometry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pg3_geometry.py b/pg3_geometry.py index 843a065..a8d6048 100755 --- a/pg3_geometry.py +++ b/pg3_geometry.py @@ -191,7 +191,7 @@ def rectangle(self, label, tolerance_len): # the actual work of adding the detectors corners = CornersFile("PG3_geom_2013_txt.csv", abs(L1)) addGroup(corners, cols[4], ["B2", "B3", "B4", "B5", "B6"]) - addGroup(corners, cols[3], ['C2', 'C3', 'C4', 'C5', 'D2', 'D3', 'D4', 'D5', 'D6']) + addGroup(corners, cols[3], ['C2', 'C3', 'C4', 'C5', 'C6', 'D2', 'D3', 'D4', 'D5', 'D6']) addGroup(corners, cols[2], ['E2', 'E3', 'E4', 'E5', 'F2', 'F3', 'F4', 'F5']) addGroup(corners, cols[1], ['G3', 'G4', 'H3', 'H4', 'I4', 'J4', 'K4', 'L4']) From 2144ae959caf0f257d65d09900eba2f8a35d6780 Mon Sep 17 00:00:00 2001 From: Peter Peterson Date: Wed, 24 Jul 2013 16:45:00 -0400 Subject: [PATCH 8/8] Adding L4 detector and changing EOL character. --- PG3_geom_2013_txt.csv | 246 +++++++++++++++++++++--------------------- 1 file changed, 125 insertions(+), 121 deletions(-) diff --git a/PG3_geom_2013_txt.csv b/PG3_geom_2013_txt.csv index 6931c8c..d2c18fe 100644 --- a/PG3_geom_2013_txt.csv +++ b/PG3_geom_2013_txt.csv @@ -1,121 +1,125 @@ -Point_ID Z X Y -B2_3 57.967496 1.163795 -1.045114 -B2_4 57.855079 1.213720 -0.668273 -B2_1 58.171034 1.925040 -0.669014 -B2_2 58.284018 1.874960 -1.045148 -B3_3 57.846064 1.219319 -0.626904 -B3_4 57.789431 1.244210 -0.236872 -B3_1 58.108122 1.955365 -0.237555 -B3_2 58.164590 1.929225 -0.627407 -B4_3 57.786293 1.244037 -0.193533 -B4_4 57.786088 1.245507 0.203120 -B4_1 58.103564 1.955930 0.201390 -B4_2 58.104137 1.955246 -0.194677 -B5_3 57.791118 1.243313 0.243675 -B5_4 57.847730 1.217441 0.635344 -B5_1 58.165061 1.929125 0.635866 -B5_2 58.108648 1.953542 0.246110 -B6_3 57.856388 1.215041 0.678236 -B6_4 57.968583 1.165708 1.053728 -B6_1 58.285106 1.875597 1.052865 -B6_2 58.171197 1.920101 0.676977 -C2_3 58.353231 1.857034 -1.038249 -C2_4 58.262246 1.939072 -0.662325 -C2_1 58.774453 2.525435 -0.662660 -C2_2 58.865438 2.443397 -1.038584 -C3_3 58.252970 1.945852 -0.621365 -C3_4 58.205673 1.987325 -0.230481 -C3_1 58.719164 2.573067 -0.232528 -C3_2 58.766462 2.531593 -0.623412 -C4_3 58.204235 1.988630 -0.187544 -C4_4 58.204590 1.989986 0.208182 -C4_1 58.716171 2.576886 0.207212 -C4_2 58.716478 2.575910 -0.188270 -C5_3 58.205482 1.988943 0.250522 -C5_4 58.250217 1.947402 0.642238 -C5_1 58.762779 2.533804 0.641609 -C5_2 58.717450 2.573489 0.252607 -C6_3 58.259819 1.940003 0.683660 -C6_4 58.351955 1.862152 1.059428 -C6_1 58.862555 2.447635 1.060251 -C6_2 58.770418 2.525485 0.684484 -D2_3 58.879125 2.453227 -1.040371 -D2_4 58.812259 2.554795 -0.665644 -D2_1 59.462929 2.972239 -0.670055 -D2_2 59.529795 2.870671 -1.044783 -D3_3 58.806885 2.561998 -0.622348 -D3_4 58.773634 2.614802 -0.231675 -D3_1 59.427063 3.037178 -0.233351 -D3_2 59.460314 2.984374 -0.624024 -D4_3 58.770616 2.620194 -0.190515 -D4_4 58.769166 2.619645 0.205687 -D4_1 59.422589 3.040731 0.203468 -D4_2 59.424040 3.041280 -0.192735 -D5_3 58.777027 2.619699 0.250721 -D5_4 58.803435 2.566876 0.639942 -D5_1 59.458763 2.988972 0.639948 -D5_2 59.425015 3.037799 0.250632 -D6_3 58.812780 2.557521 0.682507 -D6_4 58.876842 2.455350 1.055137 -D6_1 59.529622 2.875519 1.055690 -D6_2 59.465560 2.977690 0.683060 -E2_3 59.545305 2.881937 -1.037930 -E2_4 59.506829 2.993218 -0.668423 -E2_1 60.243968 3.228587 -0.673212 -E2_2 60.282444 3.117306 -1.042719 -E3_3 59.502302 3.002985 -0.626142 -E3_4 59.484208 3.061121 -0.234547 -E3_1 60.225992 3.298972 -0.236037 -E3_2 60.242018 3.240790 -0.625368 -E4_3 59.488078 3.064539 -0.181767 -E4_4 59.482653 3.062635 0.204573 -E4_1 60.224161 3.300433 0.202082 -E4_2 60.223816 3.301432 -0.192066 -E5_3 59.483822 3.059766 0.248087 -E5_4 59.506678 3.002140 0.636063 -E5_1 60.236634 3.236060 0.636615 -E5_2 60.226333 3.298214 0.247084 -F2_3 60.291970 3.115583 -1.042385 -F2_4 60.282160 3.237517 -0.666388 -F2_1 61.058905 3.295846 -0.665958 -F2_2 61.068263 3.173808 -1.042332 -F3_3 60.281563 3.246755 -0.623651 -F3_4 60.277548 3.309078 -0.233095 -F3_1 61.053670 3.368084 -0.233111 -F3_2 61.057624 3.305625 -0.624038 -F4_3 60.276625 3.311038 -0.188752 -F4_4 60.277950 3.311212 0.204441 -F4_1 61.053154 3.369677 0.204427 -F4_2 61.052500 3.369881 -0.189343 -F5_3 60.275944 3.307985 0.248928 -F5_4 60.281419 3.244850 0.638005 -F5_1 61.058206 3.304663 0.637689 -F5_2 61.050230 3.366787 0.248123 -G3_3 61.083825 3.178938 -0.610081 -G3_4 61.087569 3.187928 -0.216658 -G3_1 61.859743 3.092149 -0.221739 -G3_2 61.855975 3.082364 -0.615210 -G4_3 61.083289 3.171548 -0.195333 -G4_4 61.087888 3.169649 0.199201 -G4_1 61.857521 3.077450 0.195221 -G4_2 61.855369 3.078851 -0.198490 -H3_3 61.883526 3.071899 -0.608548 -H3_4 61.884556 3.066601 -0.213786 -H3_1 62.616036 2.802013 -0.221960 -H3_2 62.614460 2.807628 -0.614325 -H4_3 61.880764 3.061826 -0.202408 -H4_4 61.882144 3.056929 0.192679 -H4_1 62.615590 2.798041 0.189847 -H4_2 62.615580 2.803614 -0.206488 -I4_3 62.603107 2.765000 -0.206922 -I4_4 62.606223 2.765190 0.188266 -I4_1 63.279071 2.371883 0.183147 -I4_2 63.275791 2.371580 -0.213436 -J4_3 63.285682 2.348077 -0.210754 -J4_4 63.281420 2.343852 0.184341 -J4_1 63.846931 1.809552 0.186169 -J4_2 63.851097 1.812698 -0.207430 -K4_3 63.863003 1.807522 -0.212620 -K4_4 63.864620 1.807786 0.184897 -K4_1 64.323014 1.177160 0.180570 -K4_2 64.321620 1.178278 -0.214724 +Point_ID Z X Y +B2_3 57.967496 1.163795 -1.045114 +B2_4 57.855079 1.213720 -0.668273 +B2_1 58.171034 1.925040 -0.669014 +B2_2 58.284018 1.874960 -1.045148 +B3_3 57.846064 1.219319 -0.626904 +B3_4 57.789431 1.244210 -0.236872 +B3_1 58.108122 1.955365 -0.237555 +B3_2 58.164590 1.929225 -0.627407 +B4_3 57.786293 1.244037 -0.193533 +B4_4 57.786088 1.245507 0.203120 +B4_1 58.103564 1.955930 0.201390 +B4_2 58.104137 1.955246 -0.194677 +B5_3 57.791118 1.243313 0.243675 +B5_4 57.847730 1.217441 0.635344 +B5_1 58.165061 1.929125 0.635866 +B5_2 58.108648 1.953542 0.246110 +B6_3 57.856388 1.215041 0.678236 +B6_4 57.968583 1.165708 1.053728 +B6_1 58.285106 1.875597 1.052865 +B6_2 58.171197 1.920101 0.676977 +C2_3 58.353231 1.857034 -1.038249 +C2_4 58.262246 1.939072 -0.662325 +C2_1 58.774453 2.525435 -0.662660 +C2_2 58.865438 2.443397 -1.038584 +C3_3 58.252970 1.945852 -0.621365 +C3_4 58.205673 1.987325 -0.230481 +C3_1 58.719164 2.573067 -0.232528 +C3_2 58.766462 2.531593 -0.623412 +C4_3 58.204235 1.988630 -0.187544 +C4_4 58.204590 1.989986 0.208182 +C4_1 58.716171 2.576886 0.207212 +C4_2 58.716478 2.575910 -0.188270 +C5_3 58.205482 1.988943 0.250522 +C5_4 58.250217 1.947402 0.642238 +C5_1 58.762779 2.533804 0.641609 +C5_2 58.717450 2.573489 0.252607 +C6_3 58.259819 1.940003 0.683660 +C6_4 58.351955 1.862152 1.059428 +C6_1 58.862555 2.447635 1.060251 +C6_2 58.770418 2.525485 0.684484 +D2_3 58.879125 2.453227 -1.040371 +D2_4 58.812259 2.554795 -0.665644 +D2_1 59.462929 2.972239 -0.670055 +D2_2 59.529795 2.870671 -1.044783 +D3_3 58.806885 2.561998 -0.622348 +D3_4 58.773634 2.614802 -0.231675 +D3_1 59.427063 3.037178 -0.233351 +D3_2 59.460314 2.984374 -0.624024 +D4_3 58.770616 2.620194 -0.190515 +D4_4 58.769166 2.619645 0.205687 +D4_1 59.422589 3.040731 0.203468 +D4_2 59.424040 3.041280 -0.192735 +D5_3 58.777027 2.619699 0.250721 +D5_4 58.803435 2.566876 0.639942 +D5_1 59.458763 2.988972 0.639948 +D5_2 59.425015 3.037799 0.250632 +D6_3 58.812780 2.557521 0.682507 +D6_4 58.876842 2.455350 1.055137 +D6_1 59.529622 2.875519 1.055690 +D6_2 59.465560 2.977690 0.683060 +E2_3 59.545305 2.881937 -1.037930 +E2_4 59.506829 2.993218 -0.668423 +E2_1 60.243968 3.228587 -0.673212 +E2_2 60.282444 3.117306 -1.042719 +E3_3 59.502302 3.002985 -0.626142 +E3_4 59.484208 3.061121 -0.234547 +E3_1 60.225992 3.298972 -0.236037 +E3_2 60.242018 3.240790 -0.625368 +E4_3 59.488078 3.064539 -0.181767 +E4_4 59.482653 3.062635 0.204573 +E4_1 60.224161 3.300433 0.202082 +E4_2 60.223816 3.301432 -0.192066 +E5_3 59.483822 3.059766 0.248087 +E5_4 59.506678 3.002140 0.636063 +E5_1 60.236634 3.236060 0.636615 +E5_2 60.226333 3.298214 0.247084 +F2_3 60.291970 3.115583 -1.042385 +F2_4 60.282160 3.237517 -0.666388 +F2_1 61.058905 3.295846 -0.665958 +F2_2 61.068263 3.173808 -1.042332 +F3_3 60.281563 3.246755 -0.623651 +F3_4 60.277548 3.309078 -0.233095 +F3_1 61.053670 3.368084 -0.233111 +F3_2 61.057624 3.305625 -0.624038 +F4_3 60.276625 3.311038 -0.188752 +F4_4 60.277950 3.311212 0.204441 +F4_1 61.053154 3.369677 0.204427 +F4_2 61.052500 3.369881 -0.189343 +F5_3 60.275944 3.307985 0.248928 +F5_4 60.281419 3.244850 0.638005 +F5_1 61.058206 3.304663 0.637689 +F5_2 61.050230 3.366787 0.248123 +G3_3 61.083825 3.178938 -0.610081 +G3_4 61.087569 3.187928 -0.216658 +G3_1 61.859743 3.092149 -0.221739 +G3_2 61.855975 3.082364 -0.615210 +G4_3 61.083289 3.171548 -0.195333 +G4_4 61.087888 3.169649 0.199201 +G4_1 61.857521 3.077450 0.195221 +G4_2 61.855369 3.078851 -0.198490 +H3_3 61.883526 3.071899 -0.608548 +H3_4 61.884556 3.066601 -0.213786 +H3_1 62.616036 2.802013 -0.221960 +H3_2 62.614460 2.807628 -0.614325 +H4_3 61.880764 3.061826 -0.202408 +H4_4 61.882144 3.056929 0.192679 +H4_1 62.615590 2.798041 0.189847 +H4_2 62.615580 2.803614 -0.206488 +I4_3 62.603107 2.765000 -0.206922 +I4_4 62.606223 2.765190 0.188266 +I4_1 63.279071 2.371883 0.183147 +I4_2 63.275791 2.371580 -0.213436 +J4_3 63.285682 2.348077 -0.210754 +J4_4 63.281420 2.343852 0.184341 +J4_1 63.846931 1.809552 0.186169 +J4_2 63.851097 1.812698 -0.207430 +K4_3 63.863003 1.807522 -0.212620 +K4_4 63.864620 1.807786 0.184897 +K4_1 64.323014 1.177160 0.180570 +K4_2 64.321620 1.178278 -0.214724 +L4_3 64.331100 1.157380 -0.217920 +L4_4 64.329768 1.154085 0.178306 +L4_1 64.681894 0.461046 0.175652 +L4_2 64.683188 0.464324 -0.221097