/** 
* @file DTBStandard.h
* @brief normal decision tree
* @author Erik Rodner
* @date 05/06/2008

*/
#ifndef DTBSTANDARDINCLUDE
#define DTBSTANDARDINCLUDE

#include "core/vector/VectorT.h"
#include "core/vector/MatrixT.h"
 
#include "core/basics/Config.h"

#include "DecisionTreeBuilder.h"


namespace OBJREC {

/** normal decision tree */
class DTBStandard : public DecisionTreeBuilder
{

    protected:
	double minimum_information_gain;
	double minExamples;

	DecisionNode *buildnode_allfeatures ( 
	    const FeaturePool & parameters, 
	    FeatureStorage & featureStorage, 
	    const FullVector & example_counts );

	

    public:
  
	/** simple constructor */
	DTBStandard( const NICE::Config *conf, std::string section );
      
	/** simple destructor */
	virtual ~DTBStandard();
 
	DecisionNode *build ( const FeaturePool & fp, 
		     const Examples & examples, int maxClassNo );
    
};

} // namespace

#endif
