40 #ifndef PdspNoiseRemoval_H 41 #define PdspNoiseRemoval_H 45 #include "TFFTRealComplex.h" 46 #include "TFFTComplexReal.h" 49 namespace geo {
class Geometry; }
50 namespace util {
class LArFFT; }
51 using GroupChannelMap = std::unordered_map<unsigned int, std::vector<unsigned int> >;
85 std::vector<float> getMeanCorrection(
const std::vector<unsigned int> &
channels,
const AdcChannelDataMap & datamap)
const;
87 std::vector<float> getMedianCorrection(
const std::vector<unsigned int> &
channels,
const AdcChannelDataMap & datamap)
const;
93 void fftFltInPlace(std::vector< float > &
adc,
const std::vector< float > & coeffs)
const;
95 std::vector< float > fftFlt(
const std::vector< float > &
adc,
const std::vector< float > & coeffs)
const;
99 GroupChannelMap makeGroupsByOfflineChannels(
size_t gsize,
const std::vector< size_t > & gidx)
const;
101 GroupChannelMap makeGroupsByDAQChannels(
size_t gsize,
const std::vector< size_t > & gidx)
const;
103 GroupChannelMap makeGroupsByFEMBPlaneType(
size_t gsize,
const std::vector< size_t > & gidx)
const;
104 bool has(
const std::vector<size_t> & v,
size_t idx)
const {
105 for (
auto c : v)
if (
c == idx)
return true;
109 static size_t getDAQChan(
size_t LAr_chan);
Namespace for general, non-LArSoft-specific utilities.
std::vector< size_t > fCoherentDaq16Groups
const geo::Geometry * fGeometry
bool fRemoveHighFrequency
std::vector< size_t > fCoherentFEMB128Groups
bool has(const std::vector< size_t > &v, size_t idx) const
std::vector< float > fLowPassCoeffs
The geometry of one entire detector, as served by art.
static constexpr double ps
std::unordered_map< unsigned int, std::vector< unsigned int > > GroupChannelMap
std::vector< size_t > fCoherentOffline16Groups
std::map< AdcChannel, AdcChannelData > AdcChannelDataMap
std::vector< size_t > fCoherentDaq8Groups
LArSoft geometry interface.