BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IPixel.h
Go to the documentation of this file.
1
// ************************************************************************** //
2
//
3
// BornAgain: simulate and fit scattering at grazing incidence
4
//
5
//! @file Base/Pixel/IPixel.h
6
//! @brief Defines pure virtual interface IPixel (has no cpp file)
7
//!
8
//! @homepage http://www.bornagainproject.org
9
//! @license GNU General Public License v3 or higher (see COPYING)
10
//! @copyright Forschungszentrum Jülich GmbH 2018
11
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12
//
13
// ************************************************************************** //
14
15
#ifndef BORNAGAIN_CORE_PIXEL_IPIXEL_H
16
#define BORNAGAIN_CORE_PIXEL_IPIXEL_H
17
18
#include "
Base/Vector/Vectors3D.h
"
19
20
//! Interface for a function that maps [0,1]x[0,1] to the kvectors in a pixel.
21
//! @ingroup detector
22
23
class
IPixel
24
{
25
public
:
26
virtual
~
IPixel
() {}
27
28
virtual
IPixel
* clone()
const
= 0;
29
virtual
IPixel
* createZeroSizePixel(
double
x,
double
y)
const
= 0;
30
virtual
kvector_t
getK(
double
x,
double
y,
double
wavelength)
const
= 0;
31
virtual
double
getIntegrationFactor(
double
x,
double
y)
const
= 0;
32
virtual
double
getSolidAngle()
const
= 0;
33
};
34
35
#endif
// BORNAGAIN_CORE_PIXEL_IPIXEL_H
Vectors3D.h
Defines basic vectors in R^3 and C^3.
BasicVector3D< double >
IPixel
Interface for a function that maps [0,1]x[0,1] to the kvectors in a pixel.
Definition:
IPixel.h:24
Base
Pixel
IPixel.h
Generated by
1.9.1