58 #ifndef SIGNALSHAPING_H
59 #define SIGNALSHAPING_H
64 #include "art/Framework/Services/Registry/ServiceHandle.h"
87 template <
class T>
void Convolute(std::vector<T>& func)
const;
90 template <
class T>
void Deconvolute(std::vector<T>& func)
const;
173 art::ServiceHandle<util::LArFFT> fft;
176 if(
int const n = func.size();
n != fft->FFTSize())
177 throw cet::exception(
"SignalShaping") <<
"Bad time series size = " <<
n <<
"\n";
179 fft->Convolute(func,
const_cast<std::vector<TComplex>&
>(
fConvKernel));
188 CalculateDeconvKernel();
190 art::ServiceHandle<util::LArFFT> fft;
193 if(
int const n = func.size();
n != fft->FFTSize())
194 throw cet::exception(
"SignalShaping") <<
"Bad time series size = " <<
n <<
"\n";
196 fft->Convolute(func, fDeconvKernel);
void set_normflag(bool flag)
const std::vector< double > & Response_save() const
void Deconvolute(std::vector< T > &func) const
then echo unknown compiler flag
std::vector< TComplex > fConvKernel
const std::vector< double > & Response() const
void AddResponseFunction(const std::vector< double > &resp, bool ResetResponse=false)
void LockResponse() const
std::vector< TComplex > fFilter
tick ticks
Alias for common language habits.
void Convolute(std::vector< T > &func) const
void CalculateDeconvKernel() const
int fDeconvKernelPolarity
void SetDeconvKernelPolarity(int pol)
tick_as<> tick
Tick number, represented by std::ptrdiff_t.
const std::vector< TComplex > & DeconvKernel() const
void ShiftResponseTime(double ticks)
std::vector< TComplex > fDeconvKernel
const std::vector< TComplex > & Filter() const
void SetPeakResponseTime(double tick)
std::vector< double > fResponse
std::vector< double > fResponse_save
const std::vector< TComplex > & ConvKernel() const
void AddFilterFunction(const std::vector< TComplex > &filt)