#ifndef XAXISFUNCTOR_H_ #define XAXISFUNCTOR_H_ // //----------------------------------------------------------------------- /// @copyright /// (c) Copyright 2008 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. /// //----------------------------------------------------------------------- /// /// @file XAxisFunctor.h /// /// @author John Burton /// /// @date Fri May 9 13:15:57 2008 /// //----------------------------------------------------------------------- // //----------------------------------------------------------------------- // Include Files: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Constants, Defines, Macros and Type Definitions: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Global Variables: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Class Definition: //----------------------------------------------------------------------- // class XAxisFunctor { // //----------------------------------------------------------------------- // Private Members: //----------------------------------------------------------------------- // private: double A0; double A1; double A2; double A3; double A4; int order; // //----------------------------------------------------------------------- // Protected Members: //----------------------------------------------------------------------- // protected: // //----------------------------------------------------------------------- // Public Members: //----------------------------------------------------------------------- // public: XAxisFunctor(): A0(0.0), A1(0.0), A2(0.0), A3(0.0), A4(0.0), order(-1) { }; XAxisFunctor(double a0): A0(a0), A1(0.0), A2(0.0), A3(0.0), A4(0.0), order(0) { }; XAxisFunctor(double a0, double a1): A0(a0), A1(a1), A2(0.0), A3(0.0), A4(0.0), order(1) { }; XAxisFunctor(double a0, double a1, double a2): A0(a0), A1(a1), A2(a2), A3(0.0), A4(0.0), order(2) { }; XAxisFunctor(double a0, double a1, double a2, double a3): A0(a0), A1(a1), A2(a2), A3(a3), A4(0.0), order(3) { }; XAxisFunctor(double a0, double a1, double a2, double a3, double a4): A0(a0), A1(a1), A2(a2), A3(a3), A4(), order(4) { }; void setA0(double a0) { A0 = a0; }; void setA1(double a1) { A1 = a1; }; void setA2(double a2) { A2 = a2; }; void setA3(double a3) { A3 = a3; }; void setA4(double a4) { A4 = a4; }; void set(double a0) { A0 = a0; }; void set(double a0, double a1) { A0 = a0; A1 = a1; }; void set(double a0, double a1, double a2) { A0 = a0; A1 = a1; A2 = a2; }; void set(double a0, double a1, double a2, double a3) { A0 = a0; A1 = a1; A2 = a2; A3 = a3; }; void set(double a0, double a1, double a2, double a3, double a4) { A0 = a0; A1 = a1; A2 = a2; A3 = a3; A4 = a4; }; double getA0(void) { return A0; }; double getA1(void) { return A1; }; double getA2(void) { return A2; }; double getA3(void) { return A3; }; double getA4(void) { return A4; }; double result(double x) { return (A0 + x * (A1 + x * (A2 + x * (A3 + x * A4)))); }; }; // end class XAxisFunctor #endif