#ifndef CHECK_SIGNAL_CLASS_11_15_2006__ #define CHECK_SIGNAL_CLASS_11_15_2006__ /** @class CheckSigInf.h @author Brian Magill @date 11/15/2006 $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 Check signals for nonfinite values (inf, -inf, and nan) */ #include #include "MultiSignal.h" #include "GenTransform.hpp" //#include "SigTransform.h" class CheckSigInf:public GenTransform { private: /// name of this process (for auditing) std::string processName; /// flag for throwing exceptions: bool exceptionalErr; /// Error handler for this class /// /// @param msg - error message to be written out /// void errorHandler(std::string msg) const; public: /// @param status - flag for throwing exceptions: /// #- true = throw exceptions if nonfinite values /// #- false = just display warnings /// explicit CheckSigInf(bool const &status = false) :processName("CheckSigInf"), exceptionalErr(status) { }; CheckSigInf(CheckSigInf const &rhs) :processName(rhs.processName), exceptionalErr(rhs.exceptionalErr) { }; CheckSigInf const & operator = (CheckSigInf const &rhs); ~CheckSigInf() { }; /// Check data for nonfinite values: inf, -inf, and nan. /// This test does not alter the data itself /// /// @param in - input signals /// @return signals with updated audit trail /// MultiSignal operator() (MultiSignal const &in) const; }; #endif