CCrossCorrelationProcessorComp.h
Go to the documentation of this file.
1 #ifndef imeas_CCrossCorrelationProcessorComp_included
2 #define imeas_CCrossCorrelationProcessorComp_included
3 
4 
5 // ACF includes
7 
8 // ACF-Solutions includes
10 
11 
12 namespace imeas
13 {
14 
15 
19 class CCrossCorrelationProcessorComp: public iproc::TSyncProcessorCompBase<IDataSequenceCorrelationProcessor>
20 {
21 public:
23 
24  I_BEGIN_COMPONENT(CCrossCorrelationProcessorComp);
25  I_REGISTER_INTERFACE(IDataSequenceCorrelationProcessor);
26  I_END_COMPONENT;
27 
31  virtual bool CalculateCorrelation(
32  const imeas::IDataSequence& input1,
33  const imeas::IDataSequence& input2,
34  imeas::IDataSequence& correlation) const;
35 
36  // reimplemented (iproc::IProcessor)
37  virtual int DoProcessing(
38  const iprm::IParamsSet* paramsPtr,
39  const istd::IPolymorphic* inputPtr,
40  istd::IChangeable* outputPtr,
41  ibase::IProgressManager* progressManagerPtr = NULL);
42 
43 protected:
47  static double GetSampleAverage(const imeas::IDataSequence& input, int channelIndex);
48 };
49 
50 
51 } // namespace imeas
52 
53 
54 #endif // !imeas_CCrossCorrelationProcessorComp_included
55 
Simple definition macro for a synchronous processor.
iproc::TSyncProcessorCompBase< IDataSequenceCorrelationProcessor > BaseClass
static double GetSampleAverage(const imeas::IDataSequence &input, int channelIndex)
Calculate mean sample value for a given channel.
virtual bool CalculateCorrelation(const imeas::IDataSequence &input1, const imeas::IDataSequence &input2, imeas::IDataSequence &correlation) const
Calculate cross correlation between two data sequences.
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
Implementation of a processor for calculation of cross correlation between two data sequence objects...
Interface for 1D-data correlation processor.
virtual int DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)

© 2007-2011 Witold Gantzke and Kirill Lepskiy