AdcChannelSplitter.h
Go to the documentation of this file.
1 // AdcChannelSplitter.h
2 
3 // David Adams
4 // September 2019
5 //
6 // Tool to split ADC samples to a specified length.
7 //
8 // Splits only raw if there are no samples, only samples if there is no
9 // raw or both if they have the same length.
10 //
11 // Configuration:
12 // LogLevel: 0=errors only, 1=show config, 2=message for each trim/pad
13 // Length - Output length.
14 // DataPath: Data view path where the split is applied.
15 // DataView: View where the split is written.
16 //
17 // Output datamap:
18 // int splitInputCount: Number input objects.
19 // int splitOutputCount: Number of created objects.
20 // int splitRawCopiedCount: Number of copied raw sample ticks.
21 // int splitSampleCopiedCount: Number of copied sample ticks.
22 
23 #ifndef AdcChannelSplitter_H
24 #define AdcChannelSplitter_H
25 
27 #include "fhiclcpp/ParameterSet.h"
29 #include "TH1.h"
30 #include <memory>
31 
33 class TPadManipulator;
34 
36 
37 public:
38 
39  using Index = unsigned int;
40  using Name = std::string;
41 
43 
44  ~AdcChannelSplitter() override =default;
45 
46  // Inherited methods.
47  DataMap update(AdcChannelData& acd) const override;
48 
49 private:
50 
51  // Configuration data.
56 
57 };
58 
59 
60 #endif
unsigned int Index
std::string string
Definition: nybbler.cc:12
AdcChannelSplitter(fhicl::ParameterSet const &ps)
~AdcChannelSplitter() override=default
DataMap update(AdcChannelData &acd) const override
static constexpr double ps
Definition: Units.h:99