dinvermatlab/Forward.h
Go to the documentation of this file.
00001 /***************************************************************************
00002 **
00003 **  This file is part of dinvermatlab.
00004 **
00005 **  This file is distributed under the terms of the Geopsy.org Commercial
00006 **  License appearing in the file LICENSE.COMMERCIAL included in the packaging
00007 **  of this file.
00008 **
00009 **  This file is distributed in the hope that it will be useful, but WITHOUT
00010 **  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011 **  FITNESS FOR A PARTICULAR PURPOSE. See Geopsy.org Commercial License for
00012 **  more details.
00013 **
00014 **  You should have received a copy of the Geopsy.org Commercial License
00015 **  along with this program. If not, see <http://www.geopsy.org>.
00016 **
00017 **  See http://www.geopsy.org for more information.
00018 **
00019 **  Created : 2008-11-23
00020 **  Authors :
00021 **    Marc Wathelet
00022 **    Marc Wathelet (LGIT, Grenoble, France)
00023 **
00024 ***************************************************************************/
00025 
00026 #ifndef FORWARD_H
00027 #define FORWARD_H
00028 
00029 #ifdef GP_MATLAB_LIBS
00030 #include <engine.h>
00031 #endif
00032 
00033 #include <DinverCore.h>
00034 
00035 class MatlabTarget;
00036 
00037 class Forward : public AbstractForward
00038 {
00039   TRANSLATIONS("Forward")
00040 public:
00041   Forward();
00042   ~Forward();
00043 
00044   bool setParam(ParamSpaceScript * param);
00045   bool setTarget(MatlabTarget * target, bool skipTest);
00046 
00047   MatlabTarget * target() const {return _target;}
00048   ParamSpaceScript * parameters() const {return _param;}
00049 
00050   virtual AbstractForward * clone() const;
00051   virtual bool wake();
00052   virtual void sleep();
00053   virtual double misfit(bool& ok);
00054 
00055   virtual void xml_writeChildren(XML_WRITECHILDREN_ARGS) const;
00056   virtual XMLMember xml_member(XML_MEMBER_ARGS);
00057   virtual void xml_polish(XML_POLISH_ARGS);
00058 private:
00059   MatlabTarget * _target;
00060   ParamSpaceScript * _param;
00061 #ifdef GP_MATLAB_LIBS
00062   Engine * _matlab;
00063 #endif
00064 };
00065 
00066 #endif // FORWARD_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines