00001 /***************************************************************************** 00002 * Project: RooFit * 00003 * Package: RooFitCore * 00004 * @(#)root/roofitcore:$Id: RooAbsRootFinder.cxx 24247 2008-06-12 14:54:32Z wouter $ 00005 * Authors: * 00006 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu * 00007 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu * 00008 * * 00009 * Copyright (c) 2000-2005, Regents of the University of California * 00010 * and Stanford University. All rights reserved. * 00011 * * 00012 * Redistribution and use in source and binary forms, * 00013 * with or without modification, are permitted according to the terms * 00014 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) * 00015 *****************************************************************************/ 00016 00017 ////////////////////////////////////////////////////////////////////////////// 00018 // 00019 // BEGIN_HTML 00020 // RooAbsRootFinder is the abstract interface for finding roots of real-valued 00021 // 1-dimensional function that implements the RooAbsFunc interface. 00022 // END_HTML 00023 // 00024 // 00025 00026 #include "RooFit.h" 00027 00028 #include "RooAbsRootFinder.h" 00029 #include "RooAbsRootFinder.h" 00030 #include "RooAbsFunc.h" 00031 #include "RooMsgService.h" 00032 #include "Riostream.h" 00033 00034 ClassImp(RooAbsRootFinder) 00035 ; 00036 00037 00038 //_____________________________________________________________________________ 00039 RooAbsRootFinder::RooAbsRootFinder(const RooAbsFunc& function) : 00040 _function(&function), _valid(function.isValid()) 00041 { 00042 // Constructor take function binding as argument 00043 if(_function->getDimension() != 1) { 00044 oocoutE((TObject*)0,Eval) << "RooAbsRootFinder:: cannot find roots for function of dimension " 00045 << _function->getDimension() << endl; 00046 _valid= kFALSE; 00047 } 00048 }