![]() |
Diana Software
|
noise decorrelation using side pulses More...
Classes | |
| struct | ChannelInfo |
Public Member Functions | |
| void | Init (Diana::QEvent &ev) |
| Init method. More... | |
| void | Do (Diana::QEvent &ev, const Diana::QEventList &neighbours) |
| Do method. More... | |
| void | Done () |
| Done method. More... | |
Private Member Functions | |
| const Diana::QVector & | GetNeighbourSamples (const int channel, const Diana::QEventList &neighbours) |
Private Attributes | |
| QChannelCovariance | fCovariance |
| std::map< int, ChannelInfo > | fDecorrelators |
| Diana::QVector | fEmpty |
| bool | fFirstCall |
| bool | fUseOF |
noise decorrelation using side pulses
This module reduces the noise using the waveforms from side bolometers using a QChannelCovariance complex matrix as input. Side channels are accessed by this module through neighbours, so one needs side pulses unrolled and NeighbourAlgorithm = AllSideNeighbour in the reader. The subset of side channels to be used to decorrelate each channel have to be specified in the config file. If not all side(neighbour) pulses needed are found, the waveform is not decorrelated. The output waveform (decorrelated or not) is saved into a QPulse object named "Pulse" and the decorrelation status is saved into a QBool named "Decorrelated". See also the config $DIANA_INSTALL/cfg/noisedecorr/decorrelation.cfg, files must be preprocessed with preprocess.cfg in the same dir.
module Decorrelator verbosity = info enable = true CovarianceInput = NO_DEFAULT SideChannelsInput = NO_DEFAULT UseOF = false SaveSamples = true endmod
Definition at line 66 of file MDecorrelator.hh.
| void MDecorrelator::Do | ( | Diana::QEvent & | ev, |
| const Diana::QEventList & | neighbours | ||
| ) |
Do method.
Definition at line 41 of file MDecorrelator.cc.
References amp, ap, channel, QMultiChannelDecorrelator::Filter(), QEvent::Get(), QPulseInfo::GetChannelId(), QMultiChannelDecorrelator::GetChannels(), QMultiChannelDecorrelator::GetFilteredResolution(), QPulseInfo::GetIsNoise(), QPulseInfo::GetMasterSample(), QMultiChannelDecorrelator::GetOriginalResolution(), QSampleInfo::GetSampleIndex(), QMultiChannelDecorrelator::GetSideChannels(), maxpos, Q_DOUBLE_DEFAULT, Q_INT_DEFAULT, Q_STRING_DEFAULT, rHandle, QPulse::SetSamplesADC(), QMultiChannelDecorrelator::SetScale(), and QMultiChannelDecorrelator::SetSideChannels().
| void MDecorrelator::Done | ( | ) |
Done method.
Definition at line 208 of file MDecorrelator.cc.
|
private |
Definition at line 217 of file MDecorrelator.cc.
References channel, QPulseInfo::GetChannelId(), QPulse::GetSamples(), and QEventList::Size().
| void MDecorrelator::Init | ( | Diana::QEvent & | ev | ) |
Init method.
Definition at line 26 of file MDecorrelator.cc.
|
private |
Definition at line 86 of file MDecorrelator.hh.
|
private |
Definition at line 87 of file MDecorrelator.hh.
|
private |
Definition at line 88 of file MDecorrelator.hh.
|
private |
Definition at line 89 of file MDecorrelator.hh.
|
private |
Definition at line 90 of file MDecorrelator.hh.