0001 classdef (Abstract) matRad_Optimizer < handle 0002 % matRad_Optimizer. This is the superclass for all optimizer 0003 % to be used within matRad 0004 % 0005 % References 0006 % - 0007 % 0008 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0009 % 0010 % Copyright 2019 the matRad development team. 0011 % 0012 % This file is part of the matRad project. It is subject to the license 0013 % terms in the LICENSE file found in the top-level directory of this 0014 % distribution and at https://github.com/e0404/matRad/LICENSES.txt. No part 0015 % of the matRad project, including this file, may be copied, modified, 0016 % propagated, or distributed except according to the terms contained in the 0017 % LICENSE file. 0018 % 0019 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0020 0021 0022 properties (Abstract) 0023 options %options struct 0024 wResult 0025 resultInfo 0026 end 0027 0028 0029 %These should be abstract methods, however Octave can't parse them. As soon 0030 %as Octave is able to do this, they should be made abstract again 0031 methods %(Abstract) 0032 function obj = optimize(obj,w0,optiProb,dij,cst) 0033 error('Function needs to be implemented!'); 0034 end 0035 0036 function [msg,statusflag] = GetStatus(obj) 0037 error('Function needs to be implemented!'); 0038 end 0039 end 0040 0041 methods (Static) 0042 function available = IsAvailable(obj) 0043 error('Function needs to be implemented!'); 0044 end 0045 end 0046 end 0047