#include <SpectrumProduct.hxx>
Its primary use will be to allow frecuency domain filtering, by taking the frecuency response as one of its inputs. (It implements the funcionality provided in the old CCLAMApplyFDFilter class).
It Allows any possible attribute configuration in its inputs and in its output, but it performs faster when prototype configuration of the data is specified using SetPrototypes(...), in certain situations:
The BPFxBPF product is being thought. If both BPFs have the same range and point possition, the way to go is obvious, but in other situations it is not so simple. Whe should probably merge both BPFs, into a new BPF.
Definition at line 69 of file SpectrumProduct.hxx.
Public Member Functions | |
SpectrumProduct (const Config &c=Config()) | |
virtual | ~SpectrumProduct () |
bool | Do () |
Supervised mode execution method (using ports). | |
bool | Do (Spectrum &in1, Spectrum &in2, Spectrum &out) |
bool | SetPrototypes (const Spectrum &in1, const Spectrum &in2, const Spectrum &out) |
Change the internal type state. | |
bool | SetPrototypes () |
bool | UnsetPrototypes () |
bool | MayDisableExecution () const |
Public Attributes | |
InPort< Spectrum > | mInput1 |
InPort< Spectrum > | mInput2 |
OutPort< Spectrum > | mOutput |
CLAM::SpectrumProduct::~SpectrumProduct | ( | ) | [virtual] |
Definition at line 51 of file SpectrumProduct.cxx.
bool CLAM::SpectrumProduct::Do | ( | ) | [virtual] |
Supervised mode execution method (using ports).
Implements CLAM::Processing.
Definition at line 103 of file SpectrumProduct.cxx.
References CLAM_DEBUG_ASSERT, CLAM::Spectrum::GetSize(), mInput1, mInput2, mOutput, and CLAM::Spectrum::SetSize().
Definition at line 55 of file SpectrumProduct.cxx.
References CLAM_ASSERT, CLAM_DEBUG_ASSERT, and CLAM::Processing::IsRunning().
bool CLAM::SpectrumProduct::SetPrototypes | ( | const Spectrum & | in1, | |
const Spectrum & | in2, | |||
const Spectrum & | out | |||
) |
Change the internal type state.
Apart from prototype configuration, the Size, Scale and SpectralRange attributes of each Spectrum are also checked.
Definition at line 124 of file SpectrumProduct.cxx.
References CLAM::SpecTypeFlags::bComplex, CLAM::SpecTypeFlags::bMagPhase, CLAM::SpecTypeFlags::bMagPhaseBPF, CLAM::SpecTypeFlags::bPolar, CLAM_ASSERT, CLAM::EScale::eLinear, CLAM::EScale::eLog, CLAM::Spectrum::GetConfig(), CLAM::Spectrum::GetSize(), and CLAM::Spectrum::GetType().
bool CLAM::SpectrumProduct::SetPrototypes | ( | ) |
bool CLAM::SpectrumProduct::UnsetPrototypes | ( | ) |
Definition at line 316 of file SpectrumProduct.cxx.
bool CLAM::SpectrumProduct::MayDisableExecution | ( | ) | const [inline] |
Definition at line 136 of file SpectrumProduct.hxx.