GRALE
Main Page
Related Pages
Classes
Files
File List
src
math
rectangularintegrator.h
Go to the documentation of this file.
1
/*
2
3
This file is a part of GRALE, a library to facilitate the simulation
4
and inversion of gravitational lenses.
5
6
Copyright (C) 2008-2012 Jori Liesenborgs
7
8
Contact: jori.liesenborgs@gmail.com
9
10
This program is free software; you can redistribute it and/or modify
11
it under the terms of the GNU General Public License as published by
12
the Free Software Foundation; either version 2 of the License, or
13
(at your option) any later version.
14
15
This program is distributed in the hope that it will be useful,
16
but WITHOUT ANY WARRANTY; without even the implied warranty of
17
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
GNU General Public License for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with this program; if not, write to the Free Software
22
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23
24
*/
25
30
#ifndef GRALE_RECTANGULARINTEGRATOR_H
31
32
#define GRALE_RECTANGULARINTEGRATOR_H
33
34
#include "graleconfig.h"
35
#include "
real2dfunctionintegrator.h
"
36
#include "
uniformdistribution.h
"
37
38
namespace
grale
39
{
40
42
class
GRALE_IMPORTEXPORT
RectangularIntegrator
:
public
Real2DFunctionIntegrator
43
{
44
public
:
45
RectangularIntegrator
(
Vector2D<double>
bottomLeft,
Vector2D<double>
topRight,
int
numX = 100,
int
numY = 100);
46
~
RectangularIntegrator
();
47
48
Vector2D<double>
getTopRight()
const
{
return
m_topRight; }
49
Vector2D<double>
getBottomLeft()
const
{
return
m_bottomLeft; }
50
int
getXSteps()
const
{
return
m_numX; }
51
int
getYSteps()
const
{
return
m_numY; }
52
double
getXStepSize()
const
{
return
m_xStep; }
53
double
getYStepSize()
const
{
return
m_yStep; }
54
55
double
integrate(
Real2DFunction
&f,
bool
abs =
false
)
const
;
56
private
:
57
Vector2D<double>
m_topRight, m_bottomLeft;
58
int
m_numX, m_numY;
59
double
m_xStep, m_yStep;
60
};
61
62
}
// end namespace
63
64
#endif // GRALE_RECTANGULARINTEGRATOR_H
65
Generated on Wed Dec 19 2012 09:09:23 for GRALE by
1.8.1.1