Logo ROOT   6.16/01
Reference Guide
RootFinder.h
Go to the documentation of this file.
1// @(#)root/tmva $Id$
2// Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : RootFinder *
8 * Web : http://tmva.sourceforge.net *
9 * *
10 * Description: *
11 * Root finding using Brents algorithm *
12 * (translated from CERNLIB function RZERO) *
13 * *
14 * Authors (alphabetical): *
15 * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
16 * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
17 * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
18 * *
19 * Copyright (c) 2005: *
20 * CERN, Switzerland *
21 * U. of Victoria, Canada *
22 * MPI-K Heidelberg, Germany *
23 * *
24 * Redistribution and use in source and binary forms, with or without *
25 * modification, are permitted according to the terms listed in LICENSE *
26 * (http://tmva.sourceforge.net/LICENSE) *
27 **********************************************************************************/
28
29#ifndef ROOT_TMVA_RootFinder
30#define ROOT_TMVA_RootFinder
31
32//////////////////////////////////////////////////////////////////////////
33// //
34// RootFinder //
35// //
36// Root finding using Brents algorithm //
37// (translated from CERNLIB function RZERO) //
38// //
39//////////////////////////////////////////////////////////////////////////
40
41#include "TObject.h"
42
43namespace TMVA {
44
45 class MsgLogger;
46 class MethodBase;
47
48 class RootFinder : public TObject {
49
50 public:
51
52 RootFinder( MethodBase *method,
53 Double_t rootMin, Double_t rootMax,
54 Int_t maxIterations = 100,
55 Double_t absTolerance = 0.0 );
56 virtual ~RootFinder( void );
57
58 // returns the root of the function
59 Double_t Root( Double_t refValue );
60
61 private:
62
63 Double_t fRootMin; // minimum root value
64 Double_t fRootMax; // maximum root value
65 Int_t fMaxIter; // maximum number of iterations
66 Double_t fAbsTol; // absolute tolerance deviation
67
68 // Methods pointer
70
71 mutable MsgLogger* fLogger; //! message logger
72 MsgLogger& Log() const { return *fLogger; }
73
74 ClassDef(RootFinder,0); // Root finding using Brents algorithm
75 };
76
77} // namespace TMVA
78
79#endif
int Int_t
Definition: RtypesCore.h:41
double Double_t
Definition: RtypesCore.h:55
#define ClassDef(name, id)
Definition: Rtypes.h:324
Virtual base Class for all MVA method.
Definition: MethodBase.h:109
ostringstream derivative to redirect and format output
Definition: MsgLogger.h:59
Root finding using Brents algorithm (translated from CERNLIB function RZERO)
Definition: RootFinder.h:48
MsgLogger & Log() const
message logger
Definition: RootFinder.h:72
Double_t fRootMax
Definition: RootFinder.h:64
virtual ~RootFinder(void)
destructor
Definition: RootFinder.cxx:64
MsgLogger * fLogger
Definition: RootFinder.h:71
Double_t fRootMin
Definition: RootFinder.h:63
Double_t Root(Double_t refValue)
Root finding using Brents algorithm; taken from CERNLIB function RZERO.
Definition: RootFinder.cxx:72
Double_t fAbsTol
Definition: RootFinder.h:66
MethodBase * fMethod
Definition: RootFinder.h:69
RootFinder(MethodBase *method, Double_t rootMin, Double_t rootMax, Int_t maxIterations=100, Double_t absTolerance=0.0)
constructor
Definition: RootFinder.cxx:47
Mother of all ROOT objects.
Definition: TObject.h:37
Abstract ClassifierFactory template that handles arbitrary types.