/usr/include/root/TMVA/IMethod.h is in libroot-tmva-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | // @(#)root/tmva $Id$
// 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 //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
#include <iosfwd>
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
#ifndef ROOT_TMVA_Types
#include "TMVA/Types.h"
#endif
class TString;
namespace TMVA {
class Ranking;
class MethodBoost;
class IMethod {
public:
// default constructur
IMethod() {}
// default destructur
virtual ~IMethod() {}
// ------- virtual member functions to be implemented by each MVA method
// the name of the method
virtual const char *GetName() const = 0;
// calculate the MVA value - some methods may return a per-event error estimate (unless: *err = -1)
virtual Double_t GetMvaValue( Double_t* err = 0, Double_t* errUpper = 0 ) = 0;
// training method
virtual void Train( void ) = 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;
// make ROOT-independent C++ class for classifier response
virtual void MakeClass( const TString& classFileName = TString("") ) const = 0;
// create ranking
virtual const Ranking* CreateRanking() = 0;
// print help message
virtual void PrintHelpMessage() const = 0;
virtual void Init() = 0;
virtual void DeclareOptions() = 0;
virtual void ProcessOptions() = 0;
virtual Bool_t HasAnalysisType( Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets ) = 0;
protected:
// make ROOT-independent C++ class for classifier response (classifier-specific implementation)
virtual void MakeClassSpecific( std::ostream&, const TString& ) const = 0;
// get specific help message from classifer
virtual void GetHelpMessage() const = 0;
ClassDef(IMethod,0) // Method Interface
};
} // namespace TMVA
#endif
|