11 #include <framework/logging/Logger.h>
13 #include <arich/dbobjects/ARICHBiasCablesMapping.h>
19 ARICHBiasCablesMapping::ARICHBiasCablesMapping()
23 int ARICHBiasCablesMapping::getModuleID(
int sectorID,
int cableID,
int innerID)
const
25 if (sectorID > 6 || sectorID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Sector number " << sectorID <<
" not valid!");
return 0;}
26 if (cableID > 8 || cableID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Cable number " << cableID <<
" not valid!");
return 0;}
27 if (innerID > 9 || innerID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Inner cable number " << innerID <<
" not valid!");
return 0;}
30 std::vector<int> position{sectorID, cableID, innerID};
31 for (
auto& i : m_module2cable) {
32 if (i.second == position) module = i.first;
37 int ARICHBiasCablesMapping::getSectorID(
int moduleID)
const
39 if (moduleID > 420 || moduleID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Module number " << moduleID <<
" not valid!");
return 0;}
40 std::vector<int> sector = m_module2cable.find(moduleID)->second;
41 return (
int)sector[0];
44 int ARICHBiasCablesMapping::getCableID(
int moduleID)
const
46 if (moduleID > 420 || moduleID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Module number " << moduleID <<
" not valid!");
return 0;}
47 std::vector<int> cable = m_module2cable.find(moduleID)->second;
51 int ARICHBiasCablesMapping::getInnerID(
int moduleID)
const
53 if (moduleID > 420 || moduleID < 1) { B2WARNING(
"ARICHBiasCablesMapping::getcableID: Module number " << moduleID <<
" not valid!");
return 0;}
54 std::vector<int> inner = m_module2cable.find(moduleID)->second;
58 void ARICHBiasCablesMapping::addMapping(
int moduleID,
int sectorID,
int cableID,
int innerID)
61 if (moduleID > 420 || moduleID < 1) { B2WARNING(
"ARICHBiasCablesMapping::addMapping: Module number " << moduleID <<
" not valid!"); }
62 if (sectorID > 6 || sectorID < 1) { B2WARNING(
"ARICHBiasCablesMapping::addMapping: Sector number " << sectorID <<
" not valid!"); }
63 if (cableID > 8 || cableID < 1) { B2WARNING(
"ARICHBiasCablesMapping::addMapping: Cable number " << cableID <<
" not valid!"); }
64 if (innerID > 9 || innerID < 1) { B2WARNING(
"ARICHBiasCablesMapping::addMapping: Inner cable number " << innerID <<
" not valid!"); }
66 std::vector<int> cableMap{sectorID, cableID, innerID};
67 m_module2cable.insert(std::pair<
int, std::vector<int>>(moduleID, cableMap));
71 void ARICHBiasCablesMapping::print()
const
74 for (
int moduleID = 1; moduleID < N_MODULES + 1; moduleID++) {
75 cout <<
" Module " << moduleID <<
": sector " << getSectorID(moduleID) <<
", cable " << getCableID(
76 moduleID) <<
", inner " << getInnerID(moduleID) << endl;
80 cout <<
"Moving to finding module number... " << endl;
83 for (
int i = 1; i < 7 ; i++) {
84 for (
int j = 1; j < 9 ; j++) {
85 for (
int k = 1; k < 10; k++) {
86 if ((j == 2 || j == 6) && k == 9)
continue;
87 std::cout <<
" Module: " << getModuleID(i, j, k) <<
": sector " << i <<
", cable " << j <<
", inner " << k << std::endl;
93 cout <<
"number of modules = " << l << endl;