10 #include <boost/circular_buffer.hpp> 36 std::vector<short>& uncompressed,
40 std::vector<short>& uncompressed,
45 void Compress(std::vector<short>& adc,
47 unsigned int& zerothreshold,
48 int& nearestneighbor);
49 void Compress(std::vector<short>& adc,
51 unsigned int& zerothreshold,
54 bool fADCStickyCodeFeature =
false);
71 void Compress(
const boost::circular_buffer<std::vector<short>>& adcvec_neighbors,
72 std::vector<short>& adc,
74 unsigned int& zerothreshold,
75 int& nearestneighbor);
77 void Compress(
const boost::circular_buffer<std::vector<short>>& adcvec_neighbors,
78 std::vector<short>& adc,
80 unsigned int& zerothreshold,
83 bool fADCStickyCodeFeature =
false);
87 void UncompressHuffman(
const std::vector<short>& adc, std::vector<short>& uncompressed);
93 std::function<
void(
int,
std::vector<std::vector<bool>>&)> add_to_table =
97 const std::vector<short>& adc,
98 std::vector<short>& uncompressed,
99 std::function<
int(std::vector<bool>&)> decode_table_chunk =
fibonacci_decode);
101 void ZeroSuppression(std::vector<short>& adc,
unsigned int& zerothreshold,
int& nearestneighbor);
104 unsigned int& zerothreshold,
106 int& nearestneighbor,
107 bool fADCStickyCodeFeature =
false);
109 void ZeroSuppression(std::vector<short>& adc,
unsigned int& zerothreshold);
111 void ZeroSuppression(
const boost::circular_buffer<std::vector<short>>& adcvec_neighbors,
112 std::vector<short>& adc,
113 unsigned int& zerothreshold,
114 int& nearestneighbor);
116 void ZeroSuppression(
const boost::circular_buffer<std::vector<short>>& adcvec_neighbors,
117 std::vector<short>& adc,
118 unsigned int& zerothreshold,
120 int& nearestneighbor,
121 bool fADCStickyCodeFeature =
false);
123 void ZeroUnsuppression(
const std::vector<short>& adc, std::vector<short>& uncompressed);
126 std::vector<short>& uncompressed,
136 bool fADCStickyCodeFeature);
140 #endif // RAWDATA_RAW_H void CompressHuffman(std::vector< short > &adc)
enum raw::_compress Compress_t
void UncompressHuffman(const std::vector< short > &adc, std::vector< short > &uncompressed)
const unsigned int onemask
decltype(auto) constexpr end(T &&obj)
ADL-aware version of std::end.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
int ADCStickyCodeCheck(const short adc_value, const int pedestal, bool fADCStickyCodeFeature)
void fibonacci_encode_table(int end, std::vector< std::vector< bool >> &table)
void ZeroUnsuppression(const std::vector< short > &adc, std::vector< short > &uncompressed)
void UncompressFibonacci(const std::vector< short > &adc, std::vector< short > &uncompressed, std::function< int(std::vector< bool > &)> decode_table_chunk)
void CompressFibonacci(std::vector< short > &wf, std::function< void(int, std::vector< std::vector< bool >> &)> add_to_table)
void Compress(std::vector< short > &adc, raw::Compress_t compress)
Compresses a raw data buffer.
void Uncompress(const std::vector< short > &adc, std::vector< short > &uncompressed, raw::Compress_t compress)
Uncompresses a raw data buffer.
void ZeroSuppression(std::vector< short > &adc, unsigned int &zerothreshold)
short fibonacci_decode(std::vector< bool > &chunk)