#ifndef ROOT_TMVA_MethodCompositeBase
#define ROOT_TMVA_MethodCompositeBase
#include <iosfwd>
#include <vector>
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
namespace TMVA {
class IMethod;
class MethodCompositeBase : public MethodBase {
public :
MethodCompositeBase( const TString& jobName,
Types::EMVA methodType,
const TString& methodTitle,
DataSetInfo& theData,
const TString& theOption = "",
TDirectory* theTargetDir = NULL );
MethodCompositeBase( Types::EMVA methodType,
DataSetInfo& dsi,
const TString& weightFile,
TDirectory* theBaseDir = 0 );
using MethodBase::ReadWeightsFromStream;
void AddWeightsXMLTo( void* parent ) const;
void ReadWeightsFromXML( void* wghtnode );
Double_t GetMvaValue( Double_t* err = 0, Double_t* errUpper = 0 );
using MethodBase::GetMvaValue;
void ReadWeightsFromStream( std::istream& istr );
virtual void Train() = 0;
virtual const Ranking* CreateRanking() = 0;
virtual ~MethodCompositeBase( void );
protected:
void DeclareOptions() = 0;
void ProcessOptions() = 0;
IMethod* GetMethod( const TString& title ) const;
IMethod* GetMethod( const Int_t index ) const;
UInt_t fCurrentMethodIdx;
MethodBase* fCurrentMethod;
UInt_t GetCurrentMethodIndex() { return fCurrentMethodIdx; }
IMethod* GetLastMethod() { return fMethods.back(); }
IMethod* GetPreviousMethod() { return (fCurrentMethodIdx>0)?fMethods[fCurrentMethodIdx-1]:0; }
MethodBase* GetCurrentMethod(){ return fCurrentMethod;}
MethodBase* GetCurrentMethod(UInt_t idx){return dynamic_cast<MethodBase*>(fMethods.at(idx)); }
std::vector<IMethod*> fMethods;
std::vector<Double_t> fMethodWeight;
ClassDef(MethodCompositeBase,0)
};
}
#endif
MethodCompositeBase.h:100 MethodCompositeBase.h:101 MethodCompositeBase.h:102 MethodCompositeBase.h:103 MethodCompositeBase.h:104 MethodCompositeBase.h:105 MethodCompositeBase.h:106 MethodCompositeBase.h:107 MethodCompositeBase.h:108 MethodCompositeBase.h:109 MethodCompositeBase.h:110 MethodCompositeBase.h:111 MethodCompositeBase.h:112 MethodCompositeBase.h:113 MethodCompositeBase.h:114 MethodCompositeBase.h:115 MethodCompositeBase.h:116 MethodCompositeBase.h:117 MethodCompositeBase.h:118 MethodCompositeBase.h:119 MethodCompositeBase.h:120 MethodCompositeBase.h:121 MethodCompositeBase.h:122 MethodCompositeBase.h:123 MethodCompositeBase.h:124