/*
$Id: GetOptClass.h 15565 2013-01-07 14:27:05Z sloot $
$URL: https://ilk.uvt.nl/svn/trunk/sources/Timbl6/include/timbl/GetOptClass.h $
Copyright (c) 1998 - 2013
ILK - Tilburg University
CLiPS - University of Antwerp
This file is part of timbl
timbl is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
timbl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see .
For questions and suggestions, see:
http://ilk.uvt.nl/software.html
or send mail to:
timbl@uvt.nl
*/
#ifndef TIMBL_GETOPTCLASS_H
#define TIMBL_GETOPTCLASS_H
#include
#include
#include "Types.h"
namespace Timbl {
class CL_Options;
class TimblExperiment;
class GetOptClass: public MsgClass {
public:
GetOptClass( CL_Options& );
virtual ~GetOptClass();
GetOptClass *Clone( std::ostream * = 0 ) const;
bool parse_options( const CL_Options&, const int=0 );
void set_default_options( const int=0 );
bool definitive_options( TimblExperiment * );
AlgorithmType Algo() const { return local_algo; };
int MaxFeatures() const { return MaxFeats; };
std::string getLogFile() const { return logFile; };
std::string getPidFile() const { return pidFile; };
bool daemonizeFlag() const { return do_daemon; };
VerbosityFlags getVerbosity() { return myVerbosity; };
private:
AlgorithmType local_algo;
MetricType local_metric;
OrdeningType local_order;
WeightType local_weight;
InputFormatType LocalInputFormat;
DecayType local_decay;
double local_decay_alfa;
double local_decay_beta;
normType local_normalisation;
double local_norm_factor;
int MaxFeats;
int target_pos;
int no_neigh;
int mvd_limit;
int estimate;
int maxbests;
int clip_freq;
int clones;
int BinSize;
int BeamSize;
int bootstrap_lines;
int f_length;
int local_progress;
int seed;
int threshold;
int igThreshold;
VerbosityFlags myVerbosity;
bool opt_init;
bool opt_changed;
bool do_exact;
bool do_hashed;
bool min_present;
bool N_present;
bool keep_distributions;
bool do_sample_weights;
bool do_ignore_samples;
bool do_ignore_samples_test;
bool do_query;
bool do_all_weights;
bool do_sloppy_loo;
bool do_silly;
bool do_diversify;
bool do_daemon;
std::vectormetricsArray;
std::ostream *parent_socket_os;
std::string inPath;
std::string outPath;
std::string logFile;
std::string pidFile;
int occIn;
void Error( const std::string& ) const;
inline bool parse_range( std::string&,
std::string::iterator&,
MetricType );
inline bool parse_metrics( const std::string&,
MetricType& );
GetOptClass( const GetOptClass& );
GetOptClass& operator=( const GetOptClass& );
};
}
#endif