00001 #include "Geometry/EcalTestBeam/interface/EcalTBHodoscopeGeometry.h"
00002
00003 const EcalTBHodoscopeGeometry::fibre_pos EcalTBHodoscopeGeometry::fibrePos_[EcalTBHodoscopeGeometry::nPlanes_][EcalTBHodoscopeGeometry::nFibres_] =
00004 {
00005 {
00006
00007
00008
00009
00010
00011
00012 {-16.326,-15.367},
00013 {-15.849,-14.889},
00014 {-15.326,-14.368},
00015 {-14.845,-13.886},
00016 {-14.326,-13.367},
00017 {-13.843,-12.887},
00018 {-13.323,-12.366},
00019 {-12.845,-11.883},
00020 {-12.322,-11.361},
00021 {-11.841,-10.882},
00022 {-11.319,-10.359},
00023 {-10.836,-9.876},
00024 {-10.318,-9.359},
00025 {-9.831,-8.873},
00026 {-9.318,-8.357},
00027 {-8.83,-7.869},
00028 {-8.316,-7.359},
00029 {-7.826,-6.871},
00030 {-7.317,-6.359},
00031 {-6.822,-5.867},
00032 {-6.32,-5.356},
00033 {-5.824,-4.87},
00034 {-5.315,-4.357},
00035 {-4.824,-3.866},
00036 {-4.316,-3.361},
00037 {-3.821,-2.867},
00038 {-3.318,-2.362},
00039 {-2.826,-1.867},
00040 {-2.319,-1.354},
00041 {-1.825,-0.864},
00042 {-1.313,-0.351},
00043 {-0.825,0.136},
00044 {-0.31,0.653},
00045 {0.177,1.135},
00046 {0.696,1.653},
00047 {1.176,2.137},
00048 {1.695,2.652},
00049 {2.179,3.138},
00050 {2.694,3.651},
00051 {3.178,4.136},
00052 {3.692,4.648},
00053 {4.179,5.134},
00054 {4.689,5.651},
00055 {5.177,6.133},
00056 {5.697,6.649},
00057 {6.17,7.134},
00058 {6.69,7.651},
00059 {7.176,8.134},
00060 {7.688,8.652},
00061 {8.172,9.138},
00062 {8.691,9.654},
00063 {9.178,10.13},
00064 {9.693,10.655},
00065 {10.173,11.132},
00066 {10.697,11.66},
00067 {11.172,12.129},
00068 {11.701,12.653},
00069 {12.17,13.128},
00070 {12.691,13.658},
00071 {13.168,14.13},
00072 {13.7,14.656},
00073 {14.172,15.134},
00074 {14.697,15.649},
00075 {15.177,16.13}
00076 },
00077 {
00078
00079
00080
00081
00082
00083 {-16.175,-15.229},
00084 {-15.719,-14.772},
00085 {-15.185,-14.226},
00086 {-14.727,-13.77},
00087 {-14.184,-13.235},
00088 {-13.727,-12.777},
00089 {-13.192,-12.232},
00090 {-12.733,-11.77},
00091 {-12.191,-11.239},
00092 {-11.736,-10.773},
00093 {-11.195,-10.242},
00094 {-10.735,-9.782},
00095 {-10.198,-9.239},
00096 {-9.738,-8.783},
00097 {-9.206,-8.236},
00098 {-8.739,-7.788},
00099 {-8.211,-7.239},
00100 {-7.74,-6.783},
00101 {-7.215,-6.241},
00102 {-6.743,-5.781},
00103 {-6.207,-5.248},
00104 {-5.74,-4.782},
00105 {-5.207,-4.247},
00106 {-4.743,-3.78},
00107 {-4.217,-3.249},
00108 {-3.746,-2.78},
00109 {-3.214,-2.247},
00110 {-2.746,-1.781},
00111 {-2.214,-1.249},
00112 {-1.742,-0.786},
00113 {-1.209,-0.248},
00114 {-0.744,0.207},
00115 {-0.21,0.751},
00116 {0.245,1.208},
00117 {0.792,1.757},
00118 {1.248,2.207},
00119 {1.792,2.756},
00120 {2.25,3.208},
00121 {2.793,3.757},
00122 {3.247,4.209},
00123 {3.795,4.754},
00124 {4.244,5.208},
00125 {4.799,5.752},
00126 {5.246,6.209},
00127 {5.792,6.75},
00128 {6.245,7.215},
00129 {6.792,7.753},
00130 {7.253,8.212},
00131 {7.782,8.753},
00132 {8.253,9.217},
00133 {8.781,9.748},
00134 {9.257,10.22},
00135 {9.783,10.745},
00136 {10.255,11.218},
00137 {10.787,11.746},
00138 {11.255,12.219},
00139 {11.786,12.744},
00140 {12.252,13.222},
00141 {12.787,13.741},
00142 {13.248,14.21},
00143 {13.782,14.735},
00144 {14.251,15.218},
00145 {14.779,15.731},
00146 {15.25,16.209}
00147 },
00148 {
00149
00150
00151
00152
00153
00154 {-16.256,-15.305},
00155 {-15.774,-14.818},
00156 {-15.264,-14.306},
00157 {-14.776,-13.82},
00158 {-14.267,-13.32},
00159 {-13.779,-12.819},
00160 {-13.277,-12.323},
00161 {-12.778,-11.815},
00162 {-12.286,-11.324},
00163 {-11.776,-10.821},
00164 {-11.285,-10.324},
00165 {-10.779,-9.819},
00166 {-10.283,-9.33},
00167 {-9.778,-8.826},
00168 {-9.284,-8.329},
00169 {-8.779,-7.824},
00170 {-8.288,-7.329},
00171 {-7.785,-6.828},
00172 {-7.29,-6.329},
00173 {-6.785,-5.831},
00174 {-6.289,-5.329},
00175 {-5.789,-4.836},
00176 {-5.289,-4.332},
00177 {-4.791,-3.833},
00178 {-4.289,-3.335},
00179 {-3.791,-2.837},
00180 {-3.294,-2.334},
00181 {-2.796,-1.836},
00182 {-2.292,-1.34},
00183 {-1.792,-0.842},
00184 {-1.299,-0.344},
00185 {-0.8,0.158},
00186 {-0.306,0.655},
00187 {0.2,1.156},
00188 {0.691,1.655},
00189 {1.196,2.154},
00190 {1.696,2.653},
00191 {2.194,3.153},
00192 {2.694,3.646},
00193 {3.194,4.144},
00194 {3.692,4.649},
00195 {4.185,5.141},
00196 {4.687,5.647},
00197 {5.181,6.14},
00198 {5.691,6.646},
00199 {6.183,7.138},
00200 {6.686,7.647},
00201 {7.178,8.139},
00202 {7.689,8.649},
00203 {8.179,9.133},
00204 {8.687,9.643},
00205 {9.176,10.133},
00206 {9.683,10.643},
00207 {10.173,11.13},
00208 {10.681,11.637},
00209 {11.167,12.122},
00210 {11.678,12.639},
00211 {12.163,13.119},
00212 {12.676,13.637},
00213 {13.16,14.118},
00214 {13.677,14.636},
00215 {14.16,15.12},
00216 {14.675,15.635},
00217 {15.162,16.119}
00218 },
00219 {
00220
00221
00222
00223
00224
00225 {-16.225,-15.271},
00226 {-15.74,-14.782},
00227 {-15.227,-14.269},
00228 {-14.74,-13.779},
00229 {-14.227,-13.264},
00230 {-13.738,-12.776},
00231 {-13.223,-12.267},
00232 {-12.734,-11.77},
00233 {-12.234,-11.266},
00234 {-11.728,-10.769},
00235 {-11.226,-10.268},
00236 {-10.73,-9.766},
00237 {-10.228,-9.268},
00238 {-9.726,-8.762},
00239 {-9.228,-8.268},
00240 {-8.72,-7.758},
00241 {-8.227,-7.266},
00242 {-7.713,-6.75},
00243 {-7.224,-6.258},
00244 {-6.707,-5.747},
00245 {-6.22,-5.256},
00246 {-5.703,-4.742},
00247 {-5.217,-4.254},
00248 {-4.703,-3.736},
00249 {-4.211,-3.25},
00250 {-3.697,-2.735},
00251 {-3.208,-2.246},
00252 {-2.696,-1.736},
00253 {-2.205,-1.242},
00254 {-1.696,-0.735},
00255 {-1.201,-0.245},
00256 {-0.695,0.267},
00257 {-0.199,0.759},
00258 {0.303,1.266},
00259 {0.801,1.76},
00260 {1.308,2.27},
00261 {1.799,2.761},
00262 {2.312,3.268},
00263 {2.803,3.762},
00264 {3.31,4.263},
00265 {3.803,4.765},
00266 {4.308,5.267},
00267 {4.807,5.768},
00268 {5.308,6.269},
00269 {5.807,6.768},
00270 {6.311,7.272},
00271 {6.808,7.764},
00272 {7.315,8.275},
00273 {7.809,8.771},
00274 {8.315,9.277},
00275 {8.812,9.773},
00276 {9.32,10.279},
00277 {9.815,10.775},
00278 {10.323,11.278},
00279 {10.817,11.778},
00280 {11.322,12.277},
00281 {11.821,12.782},
00282 {12.324,13.276},
00283 {12.825,13.789},
00284 {13.321,14.274},
00285 {13.83,14.789},
00286 {14.318,15.271},
00287 {14.829,15.786},
00288 {15.315,16.264}
00289 }
00290 };
00291
00292 std::vector<int> EcalTBHodoscopeGeometry::getFiredFibresInPlane(const float& xtr, const int& plane) const
00293 {
00294 std::vector<int> firedFibres;
00295
00296 if (plane > EcalTBHodoscopeGeometry::nPlanes_)
00297 return firedFibres;
00298
00299 for (int i=0; i< nFibres_; ++i)
00300 if ((xtr>=fibrePos_[plane][i].lp) && (xtr<=fibrePos_[plane][i].rp))
00301 firedFibres.push_back(i);
00302
00303 return firedFibres;
00304 }