BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtItgAbsFunction.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3//
4// Copyright Information: See EvtGen/COPYRIGHT
5//
6// Environment:
7// This software is part of the EvtGen package developed jointly
8// for the BaBar and CLEO collaborations. If you use all or part
9// of it, please give an appropriate acknowledgement.
10//
11// Module: EvtItgAbsFunction.hh
12//
13// Description:
14// Abstraction of a generic function for use in integration methods elsewhere
15// in this package. (Stolen and modified from the BaBar IntegrationUtils package
16// - author: Phil Strother).
17//
18// Modification history:
19//
20// Jane Tinslay March 21, 2001 Module adapted for use in
21// EvtGen
22//
23//------------------------------------------------------------------------
24
25#ifndef EVTITGABSFUNCTION_HH
26#define EVTITGABSFUNCTION_HH
27
28//-------------
29// C Headers --
30//-------------
31extern "C" {
32}
33
35
36public:
37
38 // Constructors
39
41
42 // Destructor
43 virtual ~EvtItgAbsFunction( );
44
45 virtual double value( double x) const;
46
47 virtual double operator()(double x) const;
48
49 // Selectors (const)
50
51 inline double upperRange() const {return _upperRange;}
52 inline double lowerRange() const {return _lowerRange;}
53 inline void getRange(double &lower,double &upper) const { lower = _lowerRange; upper = _upperRange; }
54 virtual void setCoeff(int, int, double)=0;
55 virtual double getCoeff(int, int)=0;
56
57protected:
58
59 virtual double myFunction(double x) const=0;
60 void setRange(double x1,double x2) { _lowerRange=x1; _upperRange=x2; };
61
62private:
63
64 double _upperRange;
65 double _lowerRange;
66
67 EvtItgAbsFunction( const EvtItgAbsFunction& ); // Copy Constructor
68 EvtItgAbsFunction& operator= ( const EvtItgAbsFunction& ); // Assignment op
69
70};
71
72#endif // EVTITGABSFUNCTION_HH
Double_t x[10]
virtual double operator()(double x) const
virtual ~EvtItgAbsFunction()
void getRange(double &lower, double &upper) const
double lowerRange() const
virtual double getCoeff(int, int)=0
double upperRange() const
virtual double myFunction(double x) const =0
virtual void setCoeff(int, int, double)=0
void setRange(double x1, double x2)
virtual double value(double x) const