CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/Geometry/EcalTestBeam/src/EcalTBHodoscopeGeometry.cc

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