Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:59

0001 // @(#)root/tmva $Id$
0002 // Author: Andreas Hoecker, Peter Speckmayer
0003 
0004 /**********************************************************************************
0005  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis       *
0006  * Package: TMVA                                                                  *
0007  * Class  : IFitterTarget                                                         *
0008  *                                             *
0009  *                                                                                *
0010  * Description:                                                                   *
0011  *      Interface for generic fitter                                              *
0012  *                                                                                *
0013  * Authors (alphabetical):                                                        *
0014  *      Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland              *
0015  *      Peter Speckmayer <speckmay@mail.cern.ch>  - CERN, Switzerland             *
0016  *                                                                                *
0017  * Copyright (c) 2005:                                                            *
0018  *      CERN, Switzerland                                                         *
0019  *      MPI-K Heidelberg, Germany                                                 *
0020  *                                                                                *
0021  * Redistribution and use in source and binary forms, with or without             *
0022  * modification, are permitted according to the terms listed in LICENSE           *
0023  * (see tmva/doc/LICENSE)                                          *
0024  **********************************************************************************/
0025 
0026 #ifndef ROOT_TMVA_IFitterTarget
0027 #define ROOT_TMVA_IFitterTarget
0028 
0029 //////////////////////////////////////////////////////////////////////////
0030 //                                                                      //
0031 // IFitterTarget                                                        //
0032 //                                                                      //
0033 // Interface for a fitter "target"                                      //
0034 //                                                                      //
0035 //////////////////////////////////////////////////////////////////////////
0036 
0037 #include <vector>
0038 
0039 #include "TMVA/Types.h"
0040 
0041 
0042 namespace TMVA {
0043 
0044    class IFitterTarget {
0045 
0046    public:
0047 
0048       IFitterTarget();
0049 
0050       virtual ~IFitterTarget() {}
0051 
0052       virtual Double_t EstimatorFunction( std::vector<Double_t>& parameters ) = 0;
0053 
0054       // function to notify the FitterTarget of the progress status of the fitter
0055       // sender : "GA", "MC", ...
0056       // progress : "init", "iteration", "last", "stop"
0057       virtual void     ProgressNotifier ( TString /*sender*/, TString /* progress */ ) {}
0058 
0059    private:
0060 
0061       ClassDef(IFitterTarget,0); // base class for a fitter "target"
0062    };
0063 
0064 } // namespace TMVA
0065 
0066 #endif