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.
EvtItgAbsFunction.cpp
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 
22 
23 #include "EvtGenBase/EvtPatches.hh"
24 
25 //-------------
26 // C Headers --
27 //-------------
28 extern "C" {
29 }
30 #include "EvtGenBase/EvtReport.hh"
31 
32 #include "assert.h"
33 using std::endl;
34 
35 EvtItgAbsFunction::EvtItgAbsFunction( double lowerRange, double upperRange ) :
36  _upperRange( upperRange ), _lowerRange( lowerRange )
37 {
38 }
39 
40 double EvtItgAbsFunction::value( double x ) const
41 {
42  if ( x >= _lowerRange && x <= _upperRange )
43  return myFunction( x );
44  EvtGenReport( EVTGEN_ERROR, "EvtGen" )
45  << "Error in EvtItgAbsFunction::value. Given co-ordinate " << x
46  << " is outside of allowed range [" << _lowerRange << ", "
47  << _upperRange << "]. Returning 0.0" << endl;
48  return 0.0; // Never get here
49 }
50 
51 double EvtItgAbsFunction::operator()( double x ) const
52 {
53  return myFunction( x );
54 }
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=0)
Definition: EvtReport.cpp:33
virtual double myFunction(double x) const =0
EvtItgAbsFunction(double lowerRange, double upperRange)
virtual double value(double x) const
virtual double operator()(double x) const