00001 #ifndef PARAMETER_SET_H 00002 #define PARAMETER_SET_H 00003 00004 //-------------------------------------------------------------------- 00005 // 00006 // This file is part of PEACE. 00007 // 00008 // PEACE is free software: you can redistribute it and/or modify it 00009 // under the terms of the GNU General Public License as published by 00010 // the Free Software Foundation, either version 3 of the License, or 00011 // (at your option) any later version. 00012 // 00013 // PEACE is distributed in the hope that it will be useful, but 00014 // WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 // General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License 00019 // along with PEACE. If not, see <http://www.gnu.org/licenses/>. 00020 // 00021 // Miami University makes no representations or warranties about the 00022 // suitability of the software, either express or implied, including 00023 // but not limited to the implied warranties of merchantability, 00024 // fitness for a particular purpose, or non-infringement. Miami 00025 // University shall not be liable for any damages suffered by licensee 00026 // as a result of using, result of using, modifying or distributing 00027 // this software or its derivatives. 00028 // 00029 // By using or copying this Software, Licensee agrees to abide by the 00030 // intellectual property laws, and all other applicable laws of the 00031 // U.S., and the terms of GNU General Public License (version 3). 00032 // 00033 // Authors: Dhananjai M. Rao raodm@muohio.edu 00034 // 00035 //--------------------------------------------------------------------- 00036 00037 /** Simple class to encapsulate a set of parameters for analyzers 00038 and/or heuristics. 00039 */ 00040 class ParameterSet { 00041 friend class ParameterSetManager; 00042 public: 00043 00044 // Two-Pass D2 parameters 00045 int minLength; 00046 int maxLength; 00047 int frameSize; 00048 int frameShift; 00049 int threshold; 00050 int maxThreshold; 00051 00052 // TV Heuristic parameters (also uses frameSize) 00053 int t; 00054 00055 // UV Heuristic parameters 00056 int u; 00057 int wordShift; 00058 00059 /** The destructor. 00060 00061 The destructor for the parameter set. 00062 */ 00063 virtual ~ParameterSet() {} 00064 00065 protected: 00066 /** The constructor. 00067 00068 The constructor has been made protected to ensure that this 00069 class is never directly instantiated. Instead the class 00070 must be instantiated via the ParameterSetManager. 00071 */ 00072 ParameterSet(int min, int max, int fsz, int fsh, int thresh, 00073 int maxThresh, int tIn, int uIn, int ws) : 00074 minLength(min), maxLength(max), frameSize(fsz), frameShift(fsh), 00075 threshold(thresh), maxThreshold(maxThresh), t(tIn), u(uIn), 00076 wordShift(ws) {} 00077 00078 private: 00079 00080 }; 00081 00082 #endif