Project
Loading...
Searching...
No Matches
SolarCrate.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
17#include <map>
18#include <string>
19#include <fmt/core.h>
20
21namespace o2::mch::dcs
22{
23int aliasToSolarCrate(std::string_view alias)
24{
25 static const std::map<std::string, int> a2c = {
26 {"MchHvLvLeft/Chamber04Left/SolCh04LCr01", 18},
27 {"MchHvLvLeft/Chamber04Left/SolCh04LCr02", 10},
28 {"MchHvLvLeft/Chamber04Left/SolCh04LCr03", 53},
29 {"MchHvLvLeft/Chamber04Left/SolCh04LCr04", 55},
30 {"MchHvLvLeft/Chamber04Left/SolCh04LCr05", 42},
31 {"MchHvLvLeft/Chamber05Left/SolCh05LCr01", 39},
32 {"MchHvLvLeft/Chamber05Left/SolCh05LCr02", 1},
33 {"MchHvLvLeft/Chamber05Left/SolCh05LCr03", 7},
34 {"MchHvLvLeft/Chamber05Left/SolCh05LCr04", 4},
35 {"MchHvLvLeft/Chamber05Left/SolCh05LCr05", 3},
36 {"MchHvLvLeft/Chamber06Left/SolCh06LCr01", 90},
37 {"MchHvLvLeft/Chamber06Left/SolCh06LCr02", 115},
38 {"MchHvLvLeft/Chamber06Left/SolCh06LCr03", 98},
39 {"MchHvLvLeft/Chamber06Left/SolCh06LCr04", 114},
40 {"MchHvLvLeft/Chamber06Left/SolCh06LCr05", 41},
41 {"MchHvLvLeft/Chamber06Left/SolCh06LCr06", 43},
42 {"MchHvLvLeft/Chamber06Left/SolCh06LCr07", 106},
43 {"MchHvLvLeft/Chamber07Left/SolCh07LCr01", 91},
44 {"MchHvLvLeft/Chamber07Left/SolCh07LCr02", 92},
45 {"MchHvLvLeft/Chamber07Left/SolCh07LCr03", 97},
46 {"MchHvLvLeft/Chamber07Left/SolCh07LCr04", 108},
47 {"MchHvLvLeft/Chamber07Left/SolCh07LCr05", 44},
48 {"MchHvLvLeft/Chamber07Left/SolCh07LCr06", 38},
49 {"MchHvLvLeft/Chamber07Left/SolCh07LCr07", 107},
50 {"MchHvLvLeft/Chamber08Left/SolCh08LCr01", 85},
51 {"MchHvLvLeft/Chamber08Left/SolCh08LCr02", 93},
52 {"MchHvLvLeft/Chamber08Left/SolCh08LCr03", 94},
53 {"MchHvLvLeft/Chamber08Left/SolCh08LCr04", 87},
54 {"MchHvLvLeft/Chamber08Left/SolCh08LCr05", 88},
55 {"MchHvLvLeft/Chamber08Left/SolCh08LCr06", 79},
56 {"MchHvLvLeft/Chamber08Left/SolCh08LCr07", 110},
57 {"MchHvLvLeft/Chamber08Left/SolCh08LCr08", 109},
58 {"MchHvLvLeft/Chamber09Left/SolCh09LCr01", 80},
59 {"MchHvLvLeft/Chamber09Left/SolCh09LCr02", 89},
60 {"MchHvLvLeft/Chamber09Left/SolCh09LCr03", 96},
61 {"MchHvLvLeft/Chamber09Left/SolCh09LCr04", 82},
62 {"MchHvLvLeft/Chamber09Left/SolCh09LCr05", 95},
63 {"MchHvLvLeft/Chamber09Left/SolCh09LCr06", 113},
64 {"MchHvLvLeft/Chamber09Left/SolCh09LCr07", 111},
65 {"MchHvLvLeft/Chamber09Left/SolCh09LCr08", 112},
66 {"MchHvLvRight/Chamber04Right/SolCh04RCr01", 9},
67 {"MchHvLvRight/Chamber04Right/SolCh04RCr02", 23},
68 {"MchHvLvRight/Chamber04Right/SolCh04RCr03", 57},
69 {"MchHvLvRight/Chamber04Right/SolCh04RCr04", 50},
70 {"MchHvLvRight/Chamber04Right/SolCh04RCr05", 46},
71 {"MchHvLvRight/Chamber05Right/SolCh05RCr01", 56},
72 {"MchHvLvRight/Chamber05Right/SolCh05RCr02", 45},
73 {"MchHvLvRight/Chamber05Right/SolCh05RCr03", 27},
74 {"MchHvLvRight/Chamber05Right/SolCh05RCr04", 54},
75 {"MchHvLvRight/Chamber05Right/SolCh05RCr05", 51},
76 {"MchHvLvRight/Chamber06Right/SolCh06RCr01", 105},
77 {"MchHvLvRight/Chamber06Right/SolCh06RCr02", 100},
78 {"MchHvLvRight/Chamber06Right/SolCh06RCr03", 102},
79 {"MchHvLvRight/Chamber06Right/SolCh06RCr04", 78},
80 {"MchHvLvRight/Chamber06Right/SolCh06RCr05", 66},
81 {"MchHvLvRight/Chamber06Right/SolCh06RCr06", 64},
82 {"MchHvLvRight/Chamber06Right/SolCh06RCr07", 73},
83 {"MchHvLvRight/Chamber07Right/SolCh07RCr01", 103},
84 {"MchHvLvRight/Chamber07Right/SolCh07RCr02", 101},
85 {"MchHvLvRight/Chamber07Right/SolCh07RCr03", 104},
86 {"MchHvLvRight/Chamber07Right/SolCh07RCr04", 75},
87 {"MchHvLvRight/Chamber07Right/SolCh07RCr05", 72},
88 {"MchHvLvRight/Chamber07Right/SolCh07RCr06", 74},
89 {"MchHvLvRight/Chamber07Right/SolCh07RCr07", 62},
90 {"MchHvLvRight/Chamber08Right/SolCh08RCr01", 86},
91 {"MchHvLvRight/Chamber08Right/SolCh08RCr02", 84},
92 {"MchHvLvRight/Chamber08Right/SolCh08RCr03", 70},
93 {"MchHvLvRight/Chamber08Right/SolCh08RCr04", 71},
94 {"MchHvLvRight/Chamber08Right/SolCh08RCr05", 76},
95 {"MchHvLvRight/Chamber08Right/SolCh08RCr06", 77},
96 {"MchHvLvRight/Chamber08Right/SolCh08RCr07", 60},
97 {"MchHvLvRight/Chamber08Right/SolCh08RCr08", 61},
98 {"MchHvLvRight/Chamber09Right/SolCh09RCr01", 81},
99 {"MchHvLvRight/Chamber09Right/SolCh09RCr02", 83},
100 {"MchHvLvRight/Chamber09Right/SolCh09RCr03", 69},
101 {"MchHvLvRight/Chamber09Right/SolCh09RCr04", 63},
102 {"MchHvLvRight/Chamber09Right/SolCh09RCr05", 67},
103 {"MchHvLvRight/Chamber09Right/SolCh09RCr06", 68},
104 {"MchHvLvRight/Chamber09Right/SolCh09RCr07", 65},
105 {"MchHvLvRight/Chamber09Right/SolCh09RCr08", 59},
106 };
107 int i = alias.find('.');
108 std::string salias(alias.substr(0, i));
109 auto p = a2c.find(salias);
110 if (p != a2c.end()) {
111 return p->second;
112 }
113 throw std::invalid_argument(fmt::format("Cannot extract solar create from alias={}", alias));
114}
115} // namespace o2::mch::dcs
int32_t i
int aliasToSolarCrate(std::string_view alias)