Belle II Software development
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
11using namespace Belle2;
12
13const 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
21const 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
38const 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
46const 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.