All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ChannelGroups.cxx
Go to the documentation of this file.
1 
2 #include "ChannelGroups.h"
3 #include "messagefacility/MessageLogger/MessageLogger.h"
4 
5 namespace caldata
6 {
7 //----------------------------------------------------------------------------
8 /// Constructor.
9 ///
10 /// Arguments:
11 ///
12 /// pset - Fcl parameters though perhaps there are none for this module in reality
13 ///
14 ChannelGroups::ChannelGroups(fhicl::ParameterSet const & pset)
15 {
16  // Identify some bad wires... this needs to be moved...
17  fGroupByViewAndWireMap.resize(3);
18 
19  fGroupByViewAndWireMap[0][100000] = 0;
20  fGroupByViewAndWireMap[1][100000] = 0;
21  fGroupByViewAndWireMap[2][100000] = 0;
22 
23  /*
24  // Start with the U plane
25  fGroupByViewAndWireMap[0][560] = 1;
26  fGroupByViewAndWireMap[0][593] = 1;
27  fGroupByViewAndWireMap[0][594] = 1;
28  fGroupByViewAndWireMap[0][599] = 1;
29  fGroupByViewAndWireMap[0][633] = 1;
30  fGroupByViewAndWireMap[0][653] = 1;
31  fGroupByViewAndWireMap[0][655] = 1;
32 
33  fGroupByViewAndWireMap[0][2096] = 1;
34  fGroupByViewAndWireMap[0][2097] = 1;
35  fGroupByViewAndWireMap[0][2098] = 1;
36  fGroupByViewAndWireMap[0][2099] = 1;
37  fGroupByViewAndWireMap[0][2100] = 1;
38  fGroupByViewAndWireMap[0][2101] = 1;
39  fGroupByViewAndWireMap[0][2102] = 1;
40  fGroupByViewAndWireMap[0][2103] = 1;
41  fGroupByViewAndWireMap[0][2104] = 1;
42  fGroupByViewAndWireMap[0][2105] = 1;
43  fGroupByViewAndWireMap[0][2106] = 1;
44  fGroupByViewAndWireMap[0][2107] = 1;
45  fGroupByViewAndWireMap[0][2108] = 1;
46  fGroupByViewAndWireMap[0][2109] = 1;
47  fGroupByViewAndWireMap[0][2110] = 1;
48  fGroupByViewAndWireMap[0][2111] = 1;
49 
50  fGroupByViewAndWireMap[0][2160] = 1;
51  fGroupByViewAndWireMap[0][2161] = 1;
52  fGroupByViewAndWireMap[0][2162] = 1;
53  fGroupByViewAndWireMap[0][2163] = 1;
54  fGroupByViewAndWireMap[0][2164] = 1;
55  fGroupByViewAndWireMap[0][2165] = 1;
56  fGroupByViewAndWireMap[0][2166] = 1;
57  fGroupByViewAndWireMap[0][2167] = 1;
58  fGroupByViewAndWireMap[0][2168] = 1;
59  fGroupByViewAndWireMap[0][2169] = 1;
60  fGroupByViewAndWireMap[0][2170] = 1;
61  fGroupByViewAndWireMap[0][2171] = 1;
62  fGroupByViewAndWireMap[0][2172] = 1;
63  fGroupByViewAndWireMap[0][2173] = 1;
64  fGroupByViewAndWireMap[0][2174] = 1;
65  fGroupByViewAndWireMap[0][2175] = 1;
66 
67  fGroupByViewAndWireMap[0][2192] = 1;
68  fGroupByViewAndWireMap[0][2193] = 1;
69  fGroupByViewAndWireMap[0][2194] = 1;
70  fGroupByViewAndWireMap[0][2195] = 1;
71  fGroupByViewAndWireMap[0][2196] = 1;
72  fGroupByViewAndWireMap[0][2197] = 1;
73  fGroupByViewAndWireMap[0][2198] = 1;
74  fGroupByViewAndWireMap[0][2199] = 1;
75  fGroupByViewAndWireMap[0][2200] = 1;
76  fGroupByViewAndWireMap[0][2201] = 1;
77  fGroupByViewAndWireMap[0][2202] = 1;
78  fGroupByViewAndWireMap[0][2203] = 1;
79  fGroupByViewAndWireMap[0][2204] = 1;
80  fGroupByViewAndWireMap[0][2205] = 1;
81  fGroupByViewAndWireMap[0][2206] = 1;
82  fGroupByViewAndWireMap[0][2207] = 1;
83 
84  // Move to the V plane
85  fGroupByViewAndWireMap[1][672] = 1;
86  fGroupByViewAndWireMap[1][673] = 1;
87  fGroupByViewAndWireMap[1][674] = 1;
88  fGroupByViewAndWireMap[1][675] = 1;
89  fGroupByViewAndWireMap[1][676] = 1;
90  fGroupByViewAndWireMap[1][677] = 1;
91  fGroupByViewAndWireMap[1][679] = 1;
92 
93  fGroupByViewAndWireMap[1][1288] = 1;
94  fGroupByViewAndWireMap[1][1289] = 1;
95  fGroupByViewAndWireMap[1][1290] = 1;
96  fGroupByViewAndWireMap[1][1291] = 1;
97  fGroupByViewAndWireMap[1][1292] = 1;
98  fGroupByViewAndWireMap[1][1293] = 1;
99  fGroupByViewAndWireMap[1][1294] = 1;
100  fGroupByViewAndWireMap[1][1295] = 1;
101 
102  fGroupByViewAndWireMap[1][1360] = 1;
103  fGroupByViewAndWireMap[1][1361] = 1;
104  fGroupByViewAndWireMap[1][1362] = 1;
105  fGroupByViewAndWireMap[1][1363] = 1;
106  fGroupByViewAndWireMap[1][1364] = 1;
107  fGroupByViewAndWireMap[1][1365] = 1;
108  fGroupByViewAndWireMap[1][1366] = 1;
109  fGroupByViewAndWireMap[1][1367] = 1;
110 
111  // Do the W plane
112  // First group running from 2336 to 2399
113  for(size_t wire = 2336; wire < 2400; wire++) fGroupByViewAndWireMap[2][wire] = 1;
114 
115  // Second group but excluding the two good wires
116  for(size_t wire = 2401; wire < 2464; wire++)
117  {
118  if (wire != 2415) fGroupByViewAndWireMap[2][wire] = 1;
119  }
120  */
121 
122  // Report.
123  mf::LogInfo("ChannelGroups") << "ChannelGroups configured\n";
124 }
125 
126 //----------------------------------------------------------------------------
127 /// Destructor.
129 {}
130 
131 size_t ChannelGroups::channelGroup(size_t view, size_t wire) const
132 {
133  size_t group(0);
134 
135  std::map<size_t,size_t>::const_iterator channelGroupItr = fGroupByViewAndWireMap[view].find(wire);
136 
137  if (channelGroupItr != fGroupByViewAndWireMap[view].end()) group = channelGroupItr->second;
138 
139  return group;
140 }
141 
142 }
std::vector< std::map< size_t, size_t > > fGroupByViewAndWireMap
Definition: ChannelGroups.h:38
ChannelGroups(fhicl::ParameterSet const &pset)
size_t channelGroup(size_t view, size_t wire) const
auto end(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:585
~ChannelGroups()
Destructor.
process_name can override from command line with o or output caldata
Definition: pid.fcl:40