]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/EvtGenModels/EvtItgAbsFunction.hh
added a histogram
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtItgAbsFunction.hh
CommitLineData
da0e9ce3 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
34class EvtItgAbsFunction {
35
36public:
37
38 // Constructors
39
40 EvtItgAbsFunction(double lowerRange, double upperRange);
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