1 #ifndef _Q_MULTI_CHANNEL_DECORRELATOR_
2 #define _Q_MULTI_CHANNEL_DECORRELATOR_
39 virtual void Filter(
const Diana::QVector& input,
const std::vector<const Diana::QVector*>& sideInputs, Diana::QVector& output)
const;
41 virtual void Filter(
const std::vector<const Diana::QVector*>& inputs,
const std::vector<const Diana::QVector*>& sideInputs, Diana::QVector& output)
const;
61 virtual void Init(
const std::vector<int>& allChannels);
63 std::vector<int>::iterator
FindChannel(std::vector<int>& channels,
const int chan);
Complex covariance matrix of an array of bolometers.
double fFilteredResolution
expected filtered resolution
double ComputeResolution(const Diana::QVector &powerSpectrum) const
compute resolution
virtual void Init(const std::vector< int > &allChannels)
init weights
Diana::QVector fOriginalPowerSpectrum
original power spectrum of this channel
virtual ~QMultiChannelDecorrelator()
dtor
void SetScale(double scale)
scale power spectra and filtered samples
std::vector< Diana::QVectorC > fWeights
coefficients used in decorrelation
std::vector< int >::iterator FindChannel(std::vector< int > &channels, const int chan)
find if chan is contained in channels otherwise throw exception
double GetFilteredResolution() const
get filtered resolution
const Diana::QVector & GetOriginalPowerSpectrum() const
get original average power spectrum of this channel
double fScale
scale output
void Constructor(const std::vector< int > &channels, const QChannelCovariance *cov, bool init)
perform constructor operations
Diana::QVector fDecorrelatedPowerSpectrum
decorrelated power spectrum of this channel
double fOriginalResolution
original resolution
const std::vector< int > & GetChannels() const
get main channels
std::vector< int > fChannels
number of this channel
void SetSideChannels(const std::vector< int > &channels)
chose subset of channels to use for decorrelation
double GetOriginalResolution() const
get original resolution
const QChannelCovariance * fCovarianceMatrix
pointer to global covariance matrix
virtual void Filter(const Diana::QVector &input, const std::vector< const Diana::QVector * > &sideInputs, Diana::QVector &output) const
decorrelate input QVector from this channel using sideInputs QVectors from sideChannels,...
QMultiChannelDecorrelator(const int chan, const QChannelCovariance *cov)
ctor, by default all channels are used to decorrelate
const Diana::QVector & GetFilteredPowerSpectrum() const
get average filtered spectrum of this channel
const std::vector< int > & GetSideChannels() const
get subset of channels to use for decorrelation
std::vector< int > fAvailableSideChannels
all side channels available in fCovarianceMatrix (not only the selected ones)
Diana::QRealComplexFFT * fTransformer
FFT engine.
std::vector< int > fSideChannels
selected side channels