StandardRawDigitExtractService.h
Go to the documentation of this file.
1 // StandardRawDigitExtractService
2 //
3 // David Adams
4 // May 2016
5 //
6 // Implementation of service that is first step in processing TPC data.
7 // It uncompressses the data, converts to float, subtracts pedestals and
8 // flags underflows, overflows and stuck bits.
9 //
10 // Flags are set assuming a 12-bit ADC where the low six bits can be stuck.
11 //
12 // Configuration:
13 // LogLevel - message logging level: 0=none, 1=initialization, 2+=every event
14 // DigitReadTool name for the tool that reads digits into ADC channel data
15 // PedestalOption
16 // 1: take from digit
17 // 2: take from service
18 // 3: evaluate with PedestalEvaluationService
19 // otherwise no subtraction
20 // FlagStuckOff - flag samples for which the low bits are all 0
21 // FlagStuckOn - flag samples for which the low bits are all 1
22 
23 
24 #ifndef StandardRawDigitExtractService_H
25 #define StandardRawDigitExtractService_H
26 
29 
30 class AdcChannelTool;
31 namespace lariov {
32  class DetPedestalProvider;
33 }
34 
36 
37 public:
38 
40 
41  int extract(AdcChannelData& acd) const;
42 
43  std::ostream& print(std::ostream& out =std::cout, std::string prefix ="") const;
44 
45 private:
46 
47  using AcdModifierPtr = std::unique_ptr<const AdcChannelTool>;
48 
49  // Configuration parameters.
56 
59 
62 
63 };
64 
66 
67 #endif
std::string string
Definition: nybbler.cc:12
DECLARE_ART_SERVICE_INTERFACE_IMPL(MySharedService, art::test::MyServiceInterface, SHARED) DEFINE_ART_SERVICE_INTERFACE_IMPL(MySharedService
PedestalEvaluationService * m_PedestalEvaluationService
Filters for channels, events, etc.
std::unique_ptr< const AdcChannelTool > AcdModifierPtr
const lariov::DetPedestalProvider * m_pPedProv