#ifndef NONLINEARITY_FUNCTOR_4_22_2008 #define NONLINEARITY_FUNCTOR_4_22_2008 /** @file NonLinFunctor.h @author Brian Magill @date 4/08/2008 $Date:$ $Revision:$ @copyright (©) Copyright 2006 by GATS Inc. 11864 Canon Blvd., Suite 101, Newport News, VA 23606 All Rights Reserved. No part of this software or publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without the prior written permission of GATS Inc. @brief Corrects the nonlinearity in the signals */ #include #include #include #include "MultiSignal.h" #include "SetUpNonLin.h" #include "GenTransform.hpp" class NonLinFunctor:public GenTransform { typedef std::vector > vector2D; private: double labGain; SetUpNonLin setup; public: NonLinFunctor():labGain(0), setup() { } NonLinFunctor(double gain, SetUpNonLin &inP):labGain(gain), setup(inP) { } NonLinFunctor(NonLinFunctor const &rhs):labGain(rhs.labGain), setup(rhs.setup) { } NonLinFunctor const & operator = (NonLinFunctor const &rhs) { if(&rhs == this) return *this; labGain = rhs.labGain; setup = rhs.setup; return *this; } ~NonLinFunctor() { }; MultiSignal operator() (MultiSignal const &in) const; }; #endif