BOSS 8.0.0
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
34
35public:
36 // Constructors
37
38 EvtItgAbsFunction( double lowerRange, double upperRange );
39
40 // Destructor
41 virtual ~EvtItgAbsFunction();
42
43 virtual double value( double x ) const;
44
45 virtual double operator()( double x ) const;
46
47 // Selectors (const)
48
49 inline double upperRange() const { return _upperRange; }
50 inline double lowerRange() const { return _lowerRange; }
51 inline void getRange( double& lower, double& upper ) const {
52 lower = _lowerRange;
53 upper = _upperRange;
54 }
55 virtual void setCoeff( int, int, double ) = 0;
56 virtual double getCoeff( int, int ) = 0;
57
58protected:
59 virtual double myFunction( double x ) const = 0;
60 void setRange( double x1, double x2 ) {
61 _lowerRange = x1;
62 _upperRange = x2;
63 };
64
65private:
66 double _upperRange;
67 double _lowerRange;
68
69 EvtItgAbsFunction( const EvtItgAbsFunction& ); // Copy Constructor
70 EvtItgAbsFunction& operator=( const EvtItgAbsFunction& ); // Assignment op
71};
72
73#endif // EVTITGABSFUNCTION_HH
virtual double operator()(double x) const
EvtItgAbsFunction(double lowerRange, double upperRange)
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