Project
Loading...
Searching...
No Matches
DCSAliases.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
13
14#include "HVAliases.h"
15#include "LVAliases.h"
17#include <array>
18#include <fmt/core.h>
19#include <iostream>
20#include <map>
21#include <set>
22
23namespace
24{
25
27 const std::vector<o2::mch::dcs::MeasurementType>& types)
28{
29 return std::find(begin(types), end(types), type) != types.end();
30}
31
32} // namespace
33
34namespace o2::mch::dcs
35{
36
37std::vector<std::string> aliases(std::vector<MeasurementType> types)
38{
39 std::vector<std::string> aliasesVector;
40
41 if (in(MeasurementType::HV_V, types)) {
42 aliasesVector.insert(end(aliasesVector),
45 }
46 if (in(MeasurementType::HV_I, types)) {
47 aliasesVector.insert(end(aliasesVector),
50 }
51 if (in(MeasurementType::LV_V_FEE_ANALOG, types)) {
52 aliasesVector.insert(end(aliasesVector),
55 }
56 if (in(MeasurementType::LV_V_FEE_DIGITAL, types)) {
57 aliasesVector.insert(end(aliasesVector),
60 }
61 if (in(MeasurementType::LV_V_SOLAR, types)) {
62 aliasesVector.insert(end(aliasesVector),
65 }
66 return aliasesVector;
67}
68
69std::vector<std::string> allAliases()
70{
71 std::vector<std::string> validAliases;
72 validAliases.insert(validAliases.end(), expectedHVAliasesVoltages.begin(),
74 validAliases.insert(validAliases.end(), expectedHVAliasesCurrents.begin(),
76 validAliases.insert(validAliases.end(), expectedLVAliasesFeeAnalog.begin(),
78 validAliases.insert(validAliases.end(), expectedLVAliasesFeeDigital.begin(),
80 validAliases.insert(validAliases.end(), expectedLVAliasesSolar.begin(),
82 return validAliases;
83}
84
85bool isValid(std::string_view dcsAlias)
86{
87 static std::vector<std::string> validAliases = allAliases();
88 return std::find(validAliases.begin(), validAliases.end(), dcsAlias) != validAliases.end();
89}
90
91} // namespace o2::mch::dcs
std::vector< std::string > expectedHVAliasesCurrents
Definition HVAliases.cxx:88
std::vector< std::string > expectedHVAliasesVoltages
Definition HVAliases.cxx:14
GLuint GLuint end
Definition glcorearb.h:469
GLsizei GLenum GLenum * types
Definition glcorearb.h:2516
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
std::vector< std::string > allAliases()
std::vector< std::string > expectedLVAliasesSolar
std::vector< std::string > aliases(std::vector< MeasurementType > types={ MeasurementType::HV_V, MeasurementType::HV_I, MeasurementType::LV_V_FEE_ANALOG, MeasurementType::LV_V_FEE_DIGITAL, MeasurementType::LV_V_SOLAR})
bool isValid(std::string_view dcsAlias)
std::vector< std::string > expectedLVAliasesFeeAnalog
std::vector< std::string > expectedLVAliasesFeeDigital
Definition LVAliases.cxx:16
Enum< T >::Iterator begin(Enum< T >)
Definition Defs.h:173