VDColdboxChannelRanges.h
Go to the documentation of this file.
1 #ifndef VDColdboxChannelRanges_H
2 #define VDColdboxChannelRanges_H
3 
4 // Define channel ranges for the November 2021 vertical drift test in the
5 // CERN cold box.
6 //
7 // cru = all channels
8 // crt, crb = bottom and top
9 // cr[b,t][u,y,z] for each view, e.g. crbz
10 // crbg for the ghost (unused) bottom channels
11 //
12 // Configuration:
13 // LogLevel: Message level (0, none, 1 init, ...)
14 // GhostRange: [] = no ghosts
15 // [MIN, MAX] means channels MIN, MIN+1, ..., MAX
16 
18 #include "fhiclcpp/ParameterSet.h"
20 #include <map>
21 
23 
24 public:
25 
27  using IndexVector = std::vector<Index>;
28 
29  // Ctor.
31 
32  // Dtor.
33  ~VDColdboxChannelRanges() override =default;
34 
35  // Return a range.
36  IndexRange get(std::string range_name) const override;
37 
38 private:
39 
40  // Configuration parameters.
43 
44  // Derived parameters.
47 
48  using RangeMap = std::map<Name, IndexRange>;
50 
51  void insert(Name sran, Index ich1, Index ich2, Name slab1);
52 
53  void assignFembRanges();
54 
55 };
56 #endif
~VDColdboxChannelRanges() override=default
std::string string
Definition: nybbler.cc:12
IndexRange::Name Name
static constexpr double ps
Definition: Units.h:99
unsigned int Index
Definition: IndexRange.h:27
void insert(Name sran, Index ich1, Index ich2, Name slab1)
VDColdboxChannelRanges(fhicl::ParameterSet const &ps)
std::vector< Index > IndexVector
std::map< Name, IndexRange > RangeMap