27 const string myname =
"Dune35tChannelGroupService::ctor: ";
28 const Index nAsicPerRce = 8;
29 const Index nRegPerRce = 2;
30 const string plname[4] = {
"u",
"v",
"z1",
"z2"};
35 pset.get_if_present<
int>(
"LogLevel",
m_LogLevel);
36 const Index ncha = 2048;
37 bool useAPA = m_Grouping ==
"APA";
38 bool useASIC = m_Grouping ==
"ASIC";
39 bool useRegulator = m_Grouping ==
"Regulator";
44 Index npla = split ? 4 : 1;
45 for (
Index icha=0; icha<ncha; ++icha ) {
51 igrp =
m_pcms->APAFromOnlineChannel(chon);
52 }
else if ( useASIC ) {
54 igrp = nAsicPerRce*irce + iasc;
55 }
else if ( useRegulator ) {
56 Index ireg =
m_pcms->RegulatorFromOnlineChannel(chon);
57 igrp = nRegPerRce*irce + ireg;
59 cout << myname <<
"ERROR: Invalid group name: " << m_Grouping <<
endl;
66 Index iview = split ? ipla : 0;
67 vvvchans[igrp][iview].push_back(icha);
71 useRegulator ?
"reg" :
"Unknown";
75 for (
Index igrp=0; igrp<ngrp; ++igrp ) {
76 for (
Index ipla=0; ipla<npla; ++ipla ) {
81 if ( ngrp > 100 && igrp < 100 ) ssnam <<
"0";
82 if ( ngrp > 10 && igrp < 10 ) ssnam <<
"0";
84 if ( split ) ssnam << plname[ipla];
vector< ChannelVectorVector > ChannelVectorVectorVector
art::ServiceHandle< lbne::ChannelMapService > m_pcms
ChannelVectorVector m_chanvecs
ChannelGroupService::ChannelVector ChannelVector
std::ostream & print(std::ostream &out=std::cout, std::string prefix="") const
std::vector< ChannelVector > ChannelVectorVector
void split(std::string const &s, char c, OutIter dest)
QTextStream & endl(QTextStream &s)