evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtBtoXsgammaRootFinder.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVTBTOXSGAMMAROOTFINDER_HH
22 #define EVTBTOXSGAMMAROOTFINDER_HH
23 
24 //-------------
25 // C Headers --
26 //-------------
27 extern "C" {
28 }
29 
30 //#include "EvtGenBase/EvtItgAbsFunction.hh"
31 class EvtItgAbsFunction;
32 
33 // Description:
34 // Root finding algorithms using the bilear method. Basic structure
35 // lifted from the BaBar IntegrationUtils root finding algorithm
36 // (author John Back).
37 
39  public:
40  double GetRootSingleFunc( const EvtItgAbsFunction* theFunc,
41  double functionValue, double lowerValue,
42  double upperValue, double precision );
43 
44  double GetGaussIntegFcnRoot( EvtItgAbsFunction* theFunc1,
45  EvtItgAbsFunction* theFunc2,
46  double integ1Precision, double integ2Precision,
47  int maxLoop1, int maxLoop2, double integLower,
48  double integUpper, double lowerValue,
49  double upperValue, double precision );
50 };
51 
52 #endif
double GetGaussIntegFcnRoot(EvtItgAbsFunction *theFunc1, EvtItgAbsFunction *theFunc2, double integ1Precision, double integ2Precision, int maxLoop1, int maxLoop2, double integLower, double integUpper, double lowerValue, double upperValue, double precision)
double GetRootSingleFunc(const EvtItgAbsFunction *theFunc, double functionValue, double lowerValue, double upperValue, double precision)