swh:1:snp:af87cd67498ef4fe47c76ed3e7caffe5b61facaf
Tip revision: b09d279a7caa57d7edcdf27e43631419b84ac278 authored by Unknown Author on 06 June 2007, 10:03:49 UTC
This commit was manufactured by cvs2svn to create tag 'v5-15-08-caf'.
This commit was manufactured by cvs2svn to create tag 'v5-15-08-caf'.
Tip revision: b09d279
IMethod.h
// @(#)root/tmva $Id: IMethod.h,v 1.9 2007/01/23 10:25:51 brun Exp $
// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
/**********************************************************************************
* Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
* Package: TMVA *
* Class : IMethod *
* Web : http://tmva.sourceforge.net *
* *
* Description: *
* Interface for all concrete MVA method implementations *
* *
* Authors (alphabetical): *
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
* Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
* Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
* *
* Copyright (c) 2005: *
* CERN, Switzerland, *
* U. of Victoria, Canada, *
* MPI-K Heidelberg, Germany , *
* LAPP, Annecy, France *
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted according to the terms listed in LICENSE *
* (http://tmva.sourceforge.net/LICENSE) *
**********************************************************************************/
#ifndef ROOT_TMVA_IMethod
#define ROOT_TMVA_IMethod
//////////////////////////////////////////////////////////////////////////
// //
// IMethod //
// //
// Interface for all concrete MVA method implementations //
// //
//////////////////////////////////////////////////////////////////////////
#include "TObject.h"
#ifndef ROOT_TMVA_Ranking
#include "TMVA/Ranking.h"
#endif
#ifndef ROOT_TMVA_Types
#include "TMVA/Types.h"
#endif
namespace TMVA {
class IMethod : public virtual TObject {
public:
// default constructur
IMethod() : TObject() {}
// default destructur
virtual ~IMethod() {}
// ------- virtual member functions to be implemented by each MVA method
// calculate the MVA value
virtual Double_t GetMvaValue() = 0;
// training method
virtual void Train( void ) = 0;
// write weights to output stream
virtual void WriteWeightsToStream( std::ostream& ) const = 0;
// read weights from output stream
virtual void ReadWeightsFromStream( std::istream& ) = 0;
// write method specific monitoring histograms to target file
virtual void WriteMonitoringHistosToFile( void ) const = 0;
// create ranking
virtual const Ranking* CreateRanking() = 0;
public:
ClassDef(IMethod,0) // Method Interface
};
} // namespace TMVA
#endif