Belle II Software  release-08-01-10
DetectorSurface.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #include <analysis/utility/DetectorSurface.h>
10 
11 using namespace Belle2;
12 
13 const std::unordered_map<std::string, DetSurfCylBoundaries> DetectorSurface::detToSurfBoundaries = {
14  {"CDC", DetSurfCylBoundaries(16.8, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
15  {"TOP", DetSurfCylBoundaries(117.8, 193.0, -94.0, 0.24, 0.52, 2.23, 3.14)},
16  {"ARICH", DetSurfCylBoundaries(117.8, 193.0, -94.0, 0.24, 0.52, 2.23, 3.14)},
17  {"ECL", DetSurfCylBoundaries(125.0, 196.0, -102.0, 0.21, 0.56, 2.24, 2.70)},
18  {"KLM", DetSurfCylBoundaries(202.0, 283.9, -189.9, 0.40, 0.82, 2.13, 2.60)},
19 };
20 
21 const std::unordered_map<std::string, DetSurfCylBoundaries> DetectorSurface::detLayerToSurfBoundaries = {
22  {"CDC0", DetSurfCylBoundaries(16.8, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
23  {"CDC1", DetSurfCylBoundaries(25.7, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
24  {"CDC2", DetSurfCylBoundaries(36.52, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
25  {"CDC3", DetSurfCylBoundaries(47.69, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
26  {"CDC4", DetSurfCylBoundaries(58.41, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
27  {"CDC5", DetSurfCylBoundaries(69.53, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
28  {"CDC6", DetSurfCylBoundaries(80.25, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
29  {"CDC7", DetSurfCylBoundaries(91.37, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
30  {"CDC8", DetSurfCylBoundaries(102.09, 150.0, -75.0, 0.0, 0.29, 2.61, 3.14)},
31  {"TOP0", DetSurfCylBoundaries(117.8, 193.0, -94.0, 0.24, 0.52, 2.23, 3.14)},
32  {"ARICH0", DetSurfCylBoundaries(117.8, 193.0, -94.0, 0.24, 0.52, 2.23, 3.14)},
33  {"ECL0", DetSurfCylBoundaries(125.0, 196.0, -102.0, 0.21, 0.56, 2.24, 2.70)},
34  {"ECL1", DetSurfCylBoundaries(140.0, 211.0, -117.0, 0.21, 0.56, 2.24, 2.70)},
35  {"KLM0", DetSurfCylBoundaries(202.0, 283.9, -189.9, 0.40, 0.82, 2.13, 2.60)},
36 };
37 
38 const std::unordered_map<std::string, std::vector<int>> DetectorSurface::detToLayers = {
39  {"CDC", {0, 1, 2, 3, 4, 5, 6, 7, 8}},
40  {"TOP", {0}},
41  {"ARICH", {0}},
42  {"ECL", {0, 1}},
43  {"KLM", {0}}
44 };
45 
46 const std::unordered_map<int, double> DetectorSurface::cdcWireRadiuses = {
47  {0, 16.80},
48  {1, 17.80},
49  {2, 18.80},
50  {3, 19.80},
51  {4, 20.80},
52  {5, 21.80},
53  {6, 22.80},
54  {7, 23.80},
55  {8, 25.70},
56  {9, 27.52},
57  {10, 29.34},
58  {11, 31.16},
59  {12, 32.98},
60  {13, 34.80},
61  {14, 36.52},
62  {15, 38.34},
63  {16, 40.16},
64  {17, 41.98},
65  {18, 43.80},
66  {19, 45.57},
67  {20, 47.69},
68  {21, 49.46},
69  {22, 51.28},
70  {23, 53.10},
71  {24, 54.92},
72  {25, 56.69},
73  {26, 58.41},
74  {27, 60.18},
75  {28, 62.00},
76  {29, 63.82},
77  {30, 65.64},
78  {31, 67.41},
79  {32, 69.53},
80  {33, 71.30},
81  {34, 73.12},
82  {35, 74.94},
83  {36, 76.76},
84  {37, 78.53},
85  {38, 80.25},
86  {39, 82.02},
87  {40, 83.84},
88  {41, 85.66},
89  {42, 87.48},
90  {43, 89.25},
91  {44, 91.37},
92  {45, 93.14},
93  {46, 94.96},
94  {47, 96.78},
95  {48, 98.60},
96  {49, 100.37},
97  {50, 102.09},
98  {51, 103.86},
99  {52, 105.68},
100  {53, 107.50},
101  {54, 109.32},
102  {55, 111.14},
103 };
Simple class to encapsulate a detector surface's boundaries in cylindrical coordinates.
Abstract base class for different kinds of events.
static const std::unordered_map< int, double > cdcWireRadiuses
CDC sense wire radiuses Values are take from cdc/data/CDC.xml.
static const std::unordered_map< std::string, DetSurfCylBoundaries > detToSurfBoundaries
Map that associates to each detector its valid cylindrical surface's boundaries.
static const std::unordered_map< std::string, DetSurfCylBoundaries > detLayerToSurfBoundaries
Map that associates to each detector layer its valid cylindrical surface's boundaries.
static const std::unordered_map< std::string, std::vector< int > > detToLayers
Map that associates to each detector its list of valid layers.