Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 09:32:37

0001 // This file is part of the actsvg packge.
0002 //
0003 // Copyright (C) 2022 Andreas Salzburger <asalzburger@gmail.com>
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 #include <array>
0012 #include <vector>
0013 
0014 namespace actsvg {
0015 
0016 /// This file is generated from the Open Data detector and
0017 /// depicts one Pixel endcap layer
0018 namespace data {
0019 
0020 static std::vector<std::array<scalar, 3u>> odd_pixel_ec = {
0021     {42, 8.5, -1515.6},
0022     {42, -8.5, -1515.6},
0023     {110, -14.5, -1515.6},
0024     {110, 14.5, -1515.6},
0025     {38.3689, 19.0808, -1516.8},
0026     {42.7688, 2.66003, -1516.8},
0027     {110.005, 14.4642, -1516.8},
0028     {102.499, 42.476, -1516.8},
0029     {-40.6231, 13.6388, -1515.6},
0030     {-32.1231, 28.3612, -1515.6},
0031     {-88.0128, 67.5574, -1515.6},
0032     {-102.513, 42.4426, -1515.6},
0033     {-42.7688, 2.66003, -1516.8},
0034     {-38.3689, 19.0808, -1516.8},
0035     {-102.499, 42.476, -1516.8},
0036     {-110.005, 14.4642, -1516.8},
0037     {-42, -8.5, -1515.6},
0038     {-42, 8.5, -1515.6},
0039     {-110, 14.5, -1515.6},
0040     {-110, -14.5, -1515.6},
0041     {-38.3689, -19.0808, -1516.8},
0042     {-42.7688, -2.66003, -1516.8},
0043     {-110.005, -14.4642, -1516.8},
0044     {-102.499, -42.476, -1516.8},
0045     {-32.1231, -28.3612, -1515.6},
0046     {-40.6231, -13.6388, -1515.6},
0047     {-102.513, -42.4426, -1515.6},
0048     {-88.0128, -67.5574, -1515.6},
0049     {-23.6881, -35.7089, -1516.8},
0050     {-35.7089, -23.6881, -1516.8},
0051     {-88.0348, -67.5287, -1516.8},
0052     {-67.5287, -88.0348, -1516.8},
0053     {-13.6388, -40.6231, -1515.6},
0054     {-28.3612, -32.1231, -1515.6},
0055     {-67.5574, -88.0128, -1515.6},
0056     {-42.4426, -102.513, -1515.6},
0057     {-2.66003, -42.7688, -1516.8},
0058     {-19.0808, -38.3689, -1516.8},
0059     {-42.476, -102.499, -1516.8},
0060     {-14.4642, -110.005, -1516.8},
0061     {8.5, -42, -1515.6},
0062     {-8.5, -42, -1515.6},
0063     {-14.5, -110, -1515.6},
0064     {14.5, -110, -1515.6},
0065     {19.0808, -38.3689, -1516.8},
0066     {2.66003, -42.7688, -1516.8},
0067     {14.4642, -110.005, -1516.8},
0068     {42.476, -102.499, -1516.8},
0069     {32.1231, 28.3612, -1515.6},
0070     {40.6231, 13.6388, -1515.6},
0071     {102.513, 42.4426, -1515.6},
0072     {88.0128, 67.5574, -1515.6},
0073     {28.3612, -32.1231, -1515.6},
0074     {13.6388, -40.6231, -1515.6},
0075     {42.4426, -102.513, -1515.6},
0076     {67.5574, -88.0128, -1515.6},
0077     {35.7089, -23.6881, -1516.8},
0078     {23.6881, -35.7089, -1516.8},
0079     {67.5287, -88.0348, -1516.8},
0080     {88.0348, -67.5287, -1516.8},
0081     {40.6231, -13.6388, -1515.6},
0082     {32.1231, -28.3612, -1515.6},
0083     {88.0128, -67.5574, -1515.6},
0084     {102.513, -42.4426, -1515.6},
0085     {42.7688, -2.66003, -1516.8},
0086     {38.3689, -19.0808, -1516.8},
0087     {102.499, -42.476, -1516.8},
0088     {110.005, -14.4642, -1516.8},
0089     {23.6881, 35.7089, -1516.8},
0090     {35.7089, 23.6881, -1516.8},
0091     {88.0348, 67.5287, -1516.8},
0092     {67.5287, 88.0348, -1516.8},
0093     {13.6388, 40.6231, -1515.6},
0094     {28.3612, 32.1231, -1515.6},
0095     {67.5574, 88.0128, -1515.6},
0096     {42.4426, 102.513, -1515.6},
0097     {2.66003, 42.7688, -1516.8},
0098     {19.0808, 38.3689, -1516.8},
0099     {42.476, 102.499, -1516.8},
0100     {14.4642, 110.005, -1516.8},
0101     {-8.5, 42, -1515.6},
0102     {8.5, 42, -1515.6},
0103     {14.5, 110, -1515.6},
0104     {-14.5, 110, -1515.6},
0105     {-19.0808, 38.3689, -1516.8},
0106     {-2.66003, 42.7688, -1516.8},
0107     {-14.4642, 110.005, -1516.8},
0108     {-42.476, 102.499, -1516.8},
0109     {-28.3612, 32.1231, -1515.6},
0110     {-13.6388, 40.6231, -1515.6},
0111     {-42.4426, 102.513, -1515.6},
0112     {-67.5574, 88.0128, -1515.6},
0113     {-35.7089, 23.6881, -1516.8},
0114     {-23.6881, 35.7089, -1516.8},
0115     {-67.5287, 88.0348, -1516.8},
0116     {-88.0348, 67.5287, -1516.8},
0117     {105, 10.5, -1523.2},
0118     {105, -10.5, -1523.2},
0119     {173, -16.5, -1523.2},
0120     {173, 16.5, -1523.2},
0121     {101.582, 28.5735, -1524.4},
0122     {105.228, 7.89258, -1524.4},
0123     {173.237, 13.7918, -1524.4},
0124     {167.507, 46.2905, -1524.4},
0125     {-28.5735, 101.582, -1523.2},
0126     {-7.89258, 105.228, -1523.2},
0127     {-13.7918, 173.237, -1523.2},
0128     {-46.2905, 167.507, -1523.2},
0129     {-45.7789, 95.0765, -1524.4},
0130     {-26.0453, 102.259, -1524.4},
0131     {-43.6646, 168.21, -1524.4},
0132     {-74.6744, 156.923, -1524.4},
0133     {-61.5933, 85.6827, -1523.2},
0134     {-43.4067, 96.1827, -1523.2},
0135     {-72.2106, 158.072, -1523.2},
0136     {-100.789, 141.572, -1523.2},
0137     {-75.5362, 73.6854, -1524.4},
0138     {-59.4492, 87.1839, -1524.4},
0139     {-98.5625, 143.132, -1524.4},
0140     {-123.842, 121.92, -1524.4},
0141     {-87.1839, 59.4492, -1523.2},
0142     {-73.6854, 75.5362, -1523.2},
0143     {-121.92, 123.842, -1523.2},
0144     {-143.132, 98.5625, -1523.2},
0145     {-96.1827, 43.4067, -1524.4},
0146     {-85.6827, 61.5933, -1524.4},
0147     {-141.572, 100.789, -1524.4},
0148     {-158.072, 72.2106, -1524.4},
0149     {-102.259, 26.0453, -1523.2},
0150     {-95.0765, 45.7789, -1523.2},
0151     {-156.923, 74.6744, -1523.2},
0152     {-168.21, 43.6646, -1523.2},
0153     {-105.228, 7.89258, -1524.4},
0154     {-101.582, 28.5735, -1524.4},
0155     {-167.507, 46.2905, -1524.4},
0156     {-173.237, 13.7918, -1524.4},
0157     {-105, -10.5, -1523.2},
0158     {-105, 10.5, -1523.2},
0159     {-173, 16.5, -1523.2},
0160     {-173, -16.5, -1523.2},
0161     {-101.582, -28.5735, -1524.4},
0162     {-105.228, -7.89258, -1524.4},
0163     {-173.237, -13.7918, -1524.4},
0164     {-167.507, -46.2905, -1524.4},
0165     {95.0765, 45.7789, -1523.2},
0166     {102.259, 26.0453, -1523.2},
0167     {168.21, 43.6646, -1523.2},
0168     {156.923, 74.6744, -1523.2},
0169     {-95.0765, -45.7789, -1523.2},
0170     {-102.259, -26.0453, -1523.2},
0171     {-168.21, -43.6646, -1523.2},
0172     {-156.923, -74.6744, -1523.2},
0173     {-85.6827, -61.5933, -1524.4},
0174     {-96.1827, -43.4067, -1524.4},
0175     {-158.072, -72.2106, -1524.4},
0176     {-141.572, -100.789, -1524.4},
0177     {-73.6854, -75.5362, -1523.2},
0178     {-87.1839, -59.4492, -1523.2},
0179     {-143.132, -98.5625, -1523.2},
0180     {-121.92, -123.842, -1523.2},
0181     {-59.4492, -87.1839, -1524.4},
0182     {-75.5362, -73.6854, -1524.4},
0183     {-123.842, -121.92, -1524.4},
0184     {-98.5625, -143.132, -1524.4},
0185     {-43.4067, -96.1827, -1523.2},
0186     {-61.5933, -85.6827, -1523.2},
0187     {-100.789, -141.572, -1523.2},
0188     {-72.2106, -158.072, -1523.2},
0189     {-26.0453, -102.259, -1524.4},
0190     {-45.7789, -95.0765, -1524.4},
0191     {-74.6744, -156.923, -1524.4},
0192     {-43.6646, -168.21, -1524.4},
0193     {-7.89258, -105.228, -1523.2},
0194     {-28.5735, -101.582, -1523.2},
0195     {-46.2905, -167.507, -1523.2},
0196     {-13.7918, -173.237, -1523.2},
0197     {10.5, -105, -1524.4},
0198     {-10.5, -105, -1524.4},
0199     {-16.5, -173, -1524.4},
0200     {16.5, -173, -1524.4},
0201     {28.5735, -101.582, -1523.2},
0202     {7.89258, -105.228, -1523.2},
0203     {13.7918, -173.237, -1523.2},
0204     {46.2905, -167.507, -1523.2},
0205     {45.7789, -95.0765, -1524.4},
0206     {26.0453, -102.259, -1524.4},
0207     {43.6646, -168.21, -1524.4},
0208     {74.6744, -156.923, -1524.4},
0209     {85.6827, 61.5933, -1524.4},
0210     {96.1827, 43.4067, -1524.4},
0211     {158.072, 72.2106, -1524.4},
0212     {141.572, 100.789, -1524.4},
0213     {61.5933, -85.6827, -1523.2},
0214     {43.4067, -96.1827, -1523.2},
0215     {72.2106, -158.072, -1523.2},
0216     {100.789, -141.572, -1523.2},
0217     {75.5362, -73.6854, -1524.4},
0218     {59.4492, -87.1839, -1524.4},
0219     {98.5625, -143.132, -1524.4},
0220     {123.842, -121.92, -1524.4},
0221     {87.1839, -59.4492, -1523.2},
0222     {73.6854, -75.5362, -1523.2},
0223     {121.92, -123.842, -1523.2},
0224     {143.132, -98.5625, -1523.2},
0225     {96.1827, -43.4067, -1524.4},
0226     {85.6827, -61.5933, -1524.4},
0227     {141.572, -100.789, -1524.4},
0228     {158.072, -72.2106, -1524.4},
0229     {102.259, -26.0453, -1523.2},
0230     {95.0765, -45.7789, -1523.2},
0231     {156.923, -74.6744, -1523.2},
0232     {168.21, -43.6646, -1523.2},
0233     {105.228, -7.89258, -1524.4},
0234     {101.582, -28.5735, -1524.4},
0235     {167.507, -46.2905, -1524.4},
0236     {173.237, -13.7918, -1524.4},
0237     {73.6854, 75.5362, -1523.2},
0238     {87.1839, 59.4492, -1523.2},
0239     {143.132, 98.5625, -1523.2},
0240     {121.92, 123.842, -1523.2},
0241     {59.4492, 87.1839, -1524.4},
0242     {75.5362, 73.6854, -1524.4},
0243     {123.842, 121.92, -1524.4},
0244     {98.5625, 143.132, -1524.4},
0245     {43.4067, 96.1827, -1523.2},
0246     {61.5933, 85.6827, -1523.2},
0247     {100.789, 141.572, -1523.2},
0248     {72.2106, 158.072, -1523.2},
0249     {26.0453, 102.259, -1524.4},
0250     {45.7789, 95.0765, -1524.4},
0251     {74.6744, 156.923, -1524.4},
0252     {43.6646, 168.21, -1524.4},
0253     {7.89258, 105.228, -1523.2},
0254     {28.5735, 101.582, -1523.2},
0255     {46.2905, 167.507, -1523.2},
0256     {13.7918, 173.237, -1523.2},
0257     {-10.5, 105, -1524.4},
0258     {10.5, 105, -1524.4},
0259     {16.5, 173, -1524.4},
0260     {-16.5, 173, -1524.4}};
0261 
0262 static std::vector<std::vector<size_t>> odd_pixel_ec_assoc = {
0263     {4, 33, 34, 35},  {4, 5, 34, 35, 37},   {5, 35, 37},  {5, 6, 35, 37, 38},
0264     {6, 37, 38, 39},  {6, 7, 38, 39, 40},   {7, 39, 40},  {7, 8, 39, 40, 41},
0265     {8, 40, 41, 42},  {8, 9, 41, 42, 43},   {9, 42, 43},  {9, 10, 42, 43, 44},
0266     {10, 43, 44, 45}, {10, 11, 44, 45, 46}, {11, 45, 46}, {11, 13, 45, 46, 48},
0267     {13, 46, 48, 49}, {13, 14, 48, 49, 50}, {14, 49, 50}, {14, 15, 49, 50, 51},
0268     {15, 50, 51, 52}, {15, 16, 51, 52, 53}, {16, 52, 53}, {0, 16, 24, 52, 53},
0269     {0, 24, 25, 53},  {0, 1, 24, 25, 36},   {1, 25, 36},  {1, 12, 25, 36, 47},
0270     {12, 36, 47, 54}, {12, 17, 47, 54, 55}, {17, 54, 55}, {17, 18, 54, 55, 56},
0271     {18, 55, 56, 57}, {18, 19, 56, 57, 58}, {19, 57, 58}, {19, 20, 57, 58, 59},
0272     {20, 26, 58, 59}, {20, 21, 26, 27, 59}, {21, 26, 27}, {21, 22, 26, 27, 28},
0273     {22, 27, 28, 29}, {22, 23, 28, 29, 30}, {23, 29, 30}, {2, 23, 29, 30, 31},
0274     {2, 30, 31, 32},  {2, 3, 31, 32, 33},   {3, 32, 33},  {3, 4, 32, 33, 34},
0275     {4, 33, 34, 35},  {4, 5, 34, 35, 37},   {5, 35, 37},  {5, 6, 35, 37, 38},
0276     {6, 37, 38, 39},  {6, 7, 38, 39, 40},   {7, 39, 40},  {7, 8, 39, 40, 41},
0277     {8, 40, 41, 42},  {8, 9, 41, 42, 43},   {9, 42, 43},  {9, 10, 42, 43, 44},
0278     {10, 43, 44, 45}, {10, 11, 44, 45, 46}, {11, 45, 46}, {11, 13, 45, 46, 48},
0279     {13, 46, 48, 49}, {13, 14, 48, 49, 50}, {14, 49, 50}, {14, 15, 49, 50, 51},
0280     {15, 50, 51, 52}, {15, 16, 51, 52, 53}, {16, 52, 53}, {0, 16, 24, 52, 53},
0281     {0, 24, 25, 53},  {0, 1, 24, 25, 36},   {1, 25, 36},  {1, 12, 25, 36, 47},
0282     {12, 36, 47, 54}, {12, 17, 47, 54, 55}, {17, 54, 55}, {17, 18, 54, 55, 56},
0283     {18, 55, 56, 57}, {18, 19, 56, 57, 58}, {19, 57, 58}, {19, 20, 57, 58, 59},
0284     {20, 26, 58, 59}, {20, 21, 26, 27, 59}, {21, 26, 27}, {21, 22, 26, 27, 28},
0285     {22, 27, 28, 29}, {22, 23, 28, 29, 30}, {23, 29, 30}, {2, 23, 29, 30, 31},
0286     {2, 30, 31, 32},  {2, 3, 31, 32, 33},   {3, 32, 33},  {3, 4, 32, 33, 34}};
0287 
0288 }  // namespace data
0289 
0290 }  // namespace actsvg