IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType > Class Template Reference

Base class for higher level classes that perform a single or several response evaluations and output their results. This class contains a response evaluator obect that inherits form ResponseEvaluatorBase , for evaluation and storage of responses. In such a way, derived classes can deal with response evaluation and storage in an unified way. A variety of derived classe include classes for evaluation of single response, for generating 1 dimensional or 2 dimensional tables of responses, etc., for different kinds of responses and corresponding response evaluation objects, such as vector fucntions or dierect analysis (in optimization) response evaluation functions. Some common functionality is included such as properties that define log files, result files, and corresponding streams. More...

+ Inheritance diagram for IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >:
+ Collaboration diagram for IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >:

Public Member Functions

void Dispose ()
 Implementation of IDisposable interface. More...
 
override string ToString ()
 Returns a string containing the basic information about the current evaluator such as path to the files where information is output, etc. More...
 

Protected Member Functions

virtual void Dispose (bool disposing)
 Does the job of freeing resources. This method can be eventually overridden in derived classes (if they use other resources that must be freed - in addition to such resources of the current class). More...
 

Properties

object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
 
object InternalLock [get]
 Used internally for locking access to internal fields. More...
 
TypeResponseEvaluator ResponseEvaluator [get, set]
 Object used to evaluate responses at differnt sets of parameters and for storing responses to a list. More...
 
int LoggingLevel [get, set]
 Level of output. More...
 
int OutputFrequency [get, set]
 Frequency of writing results of the response evaluation. This property is used in evaluators that evaluate several responses in one round. The property determines on how many iterations the results are stored in the result file. 1 means in every iteration, 0 means only at the end, -1 means that results are not stored at all, 4 means, fo rexample, that the results are stored in every 4th iteration and at the end. Storing results before calculation is finished enables restarting broken calculations later in such a way that only the missing samples are calculated (e.g. in tables). More...
 
string Outputdirectory [get, set]
 Directory where output files are written, if not specified otherwise. Getter returns the currrent directory if the directory has not been set before. Directory can therefore be set to null and the object will still operete correctly, with the directory set to input directory. More...
 
bool AppendLogfile [get, set]
 
string FileNameBase [get, set]
 Base part of the file names used by the current object. If some file name is not defined (such as that of result file or log file) then the appropriate getter will generate hte name by using this property. Can be set to null, in this case the default file name base will be generated at next access. More...
 
string LogfileName [get, set]
 File name of the log file (this is where operations and their resuts are logged). Can be set to null, in tihs case the name of the log file name will be generated at next access. More...
 
string LogfilePath [get, set]
 Path to the log file (this is where operations and their resuts are logged). Can be set to null, in tihs case the name of hte path will be generated at next access. More...
 
TextWriter LogWriter [get, set]
 Text writer for writing to a log file. When getter is called and the writer does not exist, it is automatically created by opening a file located at LogfilePath. Setter closes (disposes) evantual old writer if defined. WARNING: Do not Close() or Dispose() the returned writer! Inside the method of this and derived classes, don't use the setter except to set the writer to null, but just use the getter that automatically creates the writer if necessary. This is to keep track whether the writer is open or not. More...
 
abstract string ResultfileJsonPrefix [get, set]
 Prefix of the filename for the resutl file in JSON format that is used by the current object to store a parts of its state, including the result of evaluations and settings. REMARK: Implementations in derived classes should follow implementation of ResultfileJsonPrefixDefault, except that the EvaluatorConst.ResultfileJsonPrefix should be replaced by the specific prefix appropriate to the specific type of the EvaluatorBase class. More...
 
string ResultfileJsonPrefixDefault [get, set]
 Example of how the ResultfileJsonPrefix can be defined. If you don't want to use any specific prefix, you can just call getter and setter of this property in your implementation in the derived class. More...
 
string ResultfileJsonName [get, set]
 File name of the result file in JSON format. More...
 
string ResultfileJsonPath [get, set]
 Path to the result file in JSON format. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Private Member Functions

 ~EvaluatorBase ()
 

Private Attributes

object _mainLock = new object()
 
object _internalLock = new object()
 
TypeResponseEvaluator _responseEvaluator
 
int _loggingLevel = 2
 
int _outputFrequency = 1
 
string _outputDirectory
 
bool _appendLogfile = true
 
string _filenameBase
 
string _logFileName
 
string _logFilePath
 
TextWriter _logWriter
 
bool _logWriterSetFromOutside = false
 
string _resultfileJsonPrefix
 
string _resultfileJsonName
 
string _resultFileJsonPath
 
bool disposed = false
 

Detailed Description

Base class for higher level classes that perform a single or several response evaluations and output their results. This class contains a response evaluator obect that inherits form ResponseEvaluatorBase , for evaluation and storage of responses. In such a way, derived classes can deal with response evaluation and storage in an unified way. A variety of derived classe include classes for evaluation of single response, for generating 1 dimensional or 2 dimensional tables of responses, etc., for different kinds of responses and corresponding response evaluation objects, such as vector fucntions or dierect analysis (in optimization) response evaluation functions. Some common functionality is included such as properties that define log files, result files, and corresponding streams.

$A Igor Jul08 Mar09 Aug11;

Type Constraints
TypeResponseEvaluator :ResponseEvaluatorWithStorageBase 
TypeResponseEvaluator :ResultType 
TypeResponseEvaluator :FunctionType 
ResultType :class 
FunctionType :class 

Constructor & Destructor Documentation

IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.~EvaluatorBase ( )
inlineprivate

Member Function Documentation

void IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.Dispose ( )
inline

Implementation of IDisposable interface.

virtual void IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.Dispose ( bool  disposing)
inlineprotectedvirtual

Does the job of freeing resources. This method can be eventually overridden in derived classes (if they use other resources that must be freed - in addition to such resources of the current class).

Parameters
disposingTells whether the method has been called form Dispose() method.
override string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ToString ( )
inline

Returns a string containing the basic information about the current evaluator such as path to the files where information is output, etc.

Member Data Documentation

object IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._mainLock = new object()
private
object IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._internalLock = new object()
private
TypeResponseEvaluator IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._responseEvaluator
private
int IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._loggingLevel = 2
private
int IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._outputFrequency = 1
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._outputDirectory
private
bool IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._appendLogfile = true
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._filenameBase
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._logFileName
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._logFilePath
private
TextWriter IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._logWriter
private
bool IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._logWriterSetFromOutside = false
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._resultfileJsonPrefix
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._resultfileJsonName
private
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >._resultFileJsonPath
private
bool IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.disposed = false
private

Property Documentation

object IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.Lock
get

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

object IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.InternalLock
getprotected

Used internally for locking access to internal fields.

TypeResponseEvaluator IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ResponseEvaluator
getsetprivate

Object used to evaluate responses at differnt sets of parameters and for storing responses to a list.

int IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.LoggingLevel
getset

Level of output.

int IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.OutputFrequency
getset

Frequency of writing results of the response evaluation. This property is used in evaluators that evaluate several responses in one round. The property determines on how many iterations the results are stored in the result file. 1 means in every iteration, 0 means only at the end, -1 means that results are not stored at all, 4 means, fo rexample, that the results are stored in every 4th iteration and at the end. Storing results before calculation is finished enables restarting broken calculations later in such a way that only the missing samples are calculated (e.g. in tables).

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.Outputdirectory
getset

Directory where output files are written, if not specified otherwise. Getter returns the currrent directory if the directory has not been set before. Directory can therefore be set to null and the object will still operete correctly, with the directory set to input directory.

bool IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.AppendLogfile
getset
string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.FileNameBase
getset

Base part of the file names used by the current object. If some file name is not defined (such as that of result file or log file) then the appropriate getter will generate hte name by using this property. Can be set to null, in this case the default file name base will be generated at next access.

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.LogfileName
getset

File name of the log file (this is where operations and their resuts are logged). Can be set to null, in tihs case the name of the log file name will be generated at next access.

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.LogfilePath
getset

Path to the log file (this is where operations and their resuts are logged). Can be set to null, in tihs case the name of hte path will be generated at next access.

TextWriter IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.LogWriter
getset

Text writer for writing to a log file. When getter is called and the writer does not exist, it is automatically created by opening a file located at LogfilePath. Setter closes (disposes) evantual old writer if defined. WARNING: Do not Close() or Dispose() the returned writer! Inside the method of this and derived classes, don't use the setter except to set the writer to null, but just use the getter that automatically creates the writer if necessary. This is to keep track whether the writer is open or not.

abstract string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ResultfileJsonPrefix
getset

Prefix of the filename for the resutl file in JSON format that is used by the current object to store a parts of its state, including the result of evaluations and settings. REMARK: Implementations in derived classes should follow implementation of ResultfileJsonPrefixDefault, except that the EvaluatorConst.ResultfileJsonPrefix should be replaced by the specific prefix appropriate to the specific type of the EvaluatorBase class.

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ResultfileJsonPrefixDefault
getsetprotected

Example of how the ResultfileJsonPrefix can be defined. If you don't want to use any specific prefix, you can just call getter and setter of this property in your implementation in the derived class.

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ResultfileJsonName
getset

File name of the result file in JSON format.

string IG.NumExperimental.EvaluatorBase< TypeResponseEvaluator, ResultType, FunctionType >.ResultfileJsonPath
getset

Path to the result file in JSON format.


The documentation for this class was generated from the following file: