SMSFreqShift.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "SMSFreqShift.hxx"
00023 #include "ProcessingFactory.hxx"
00024
00025 namespace CLAM
00026 {
00027
00028 namespace Hidden
00029 {
00030 static const char * metadata[] = {
00031 "key", "SMSFreqShift",
00032 "category", "SMS Transformations",
00033 "description", "SMSFreqShift",
00034 0
00035 };
00036 static FactoryRegistrator<ProcessingFactory, SMSFreqShift> reg = metadata;
00037 }
00038
00039 bool SMSFreqShift::Do(const SpectralPeakArray& in, SpectralPeakArray& out)
00040 {
00041
00042 if ( !mConfig.GetPreserveOuts() )
00043 {
00044 out = in;
00045 }
00046
00047
00048 DataArray& ifreqArray=in.GetFreqBuffer();
00049 DataArray& ofreqArray=out.GetFreqBuffer();
00050 TSize nPeaks=in.GetnPeaks();
00051 TData amount=mSteps.GetLastValue();
00052 for(int i=0;i<nPeaks;i++)
00053 {
00054 ofreqArray[i]=ifreqArray[i]+amount;
00055 }
00056 return true;
00057 }
00058
00059
00060
00061 }
00062