AdcCompressService.h
Go to the documentation of this file.
1 // AdcCompressService.h
2 //
3 // David Adams
4 // December 2015
5 //
6 // Service interface for applying suppression and compressing an ADC vector.
7 
8 #ifndef AdcCompressService_H
9 #define AdcCompressService_H
10 
11 #include <string>
12 #include <iostream>
13 #include <memory>
14 #include <string>
15 #include <iostream>
18 
19 namespace fhicl {
20 class ParameterSet;
21 }
22 namespace art {
23 class ActivityRegistry;
24 }
25 
27 
28 public:
29 
30  // Dtor.
31  virtual ~AdcCompressService() =default;
32 
33  // Compress a vector of signals.
34  // sigs: I/O ADC vector to be compressed
35  // keep: Input boolean vector indicating which signals are retained.
36  // offset: Input pedestal. If used, the same value must be supplied for uncompression.
37  // comp: Output value indicating the compression strategy. Needed for uncompression.
38  virtual int compress(AdcCountVector& sigs,
39  const AdcFilterVector& keep,
40  AdcCount offset,
41  raw::Compress_t& comp) const =0;
42 
43  // Print the configuration.
44  virtual std::ostream& print(std::ostream& out =std::cout, std::string prefix =" ") const =0;
45 
46 };
47 
48 #ifndef __CLING__
51 #endif
52 
53 #endif
std::vector< AdcCount > AdcCountVector
Definition: AdcTypes.h:19
enum raw::_compress Compress_t
std::string string
Definition: nybbler.cc:12
std::vector< bool > AdcFilterVector
Definition: AdcTypes.h:27
#define DECLARE_ART_SERVICE_INTERFACE(svc, scope)
short AdcCount
Definition: AdcTypes.h:18