|
GOAT (Geometrical optics application tool) 0.1
|
This class provides a plane detector, defined by its center point and its side length. The detector plane is spanned by the vectors e1 and e2. The absolute value of the vectors e1 and e2 are the cell widths in the corresponding direction. More...
#include <detector.h>
Public Member Functions | |
| bool | cross (maths::Vector< double > P, maths::Vector< double > k, int &i1, int &i2, double &l) |
| implementation of the intersection checking function for the plane detector | |
| DetectorPlane (maths::Vector< double > P, maths::Vector< double > e1, maths::Vector< double > e2, int n1, int n2) | |
| DetectorPlane (maths::Vector< double > P, maths::Vector< double > n, double d, int N) | |
| DetectorPlane (void) | |
| void | setNorm (maths::Vector< double > n) |
| set the normal on the detector | |
| Public Member Functions inherited from GOAT::raytracing::Detector | |
| void | clean () |
| Clean all data, i.e. all data is set to zero (Data array is not removed) | |
| void | clear () |
| clear | |
| double | D1 () |
| return the length in the first direction | |
| double | D2 () |
| return the length in the second direction | |
| Detector (const Detector &Det) | |
| copy constructor | |
| Detector (int n1, int n2) | |
| Constructor which is called by the size of the array (n1 x n2) | |
| Detector (void) | |
| maths::Vector< double > | gete1 () |
| returns the direction of the first axis of the detector | |
| maths::Vector< double > | gete2 () |
| returns the direction of the second axis of the detector | |
| bool | load (const char *fn) |
| void | mult (double fac) |
| Multiply with factor. This functions multiplies all elements of the detector with the factor fac. | |
| int | N1 () |
| returns the dimension of the array in the first direction | |
| int | N2 () |
| returns the dimension of the array in the second direction | |
| maths::Vector< double > | norm () |
| returns the normal vector of the detectors surface | |
| maths::Vector< std::complex< double > > & | operator() (int i1, int i2) |
| bracket operator which gives the content inside the array determined by the indices i1 and i2 | |
| Detector & | operator= (const Detector &D) |
| maths::Vector< double > | position () |
| returns the position of the detector | |
| void | save (const char *fn) |
| stores the content (the whole vector) | |
| void | saveabs (const char *fn) |
| stores the content (absolute value of the electric field) of the detector array in the file determined by its filename fn | |
| void | saveimag (const char *fn, int coord) |
| stores the content (imaginary part of one component of the the electric field, coord determines the coordinate 0,1,2 for x,y,z) of the detector array in the file fn | |
| void | savePhase (const char *fn, int coord) |
| stores the content (phase of one component of the electric field, coord determines the coordinate 0,1,2 for x,y,z) of the detector array in the file fn | |
| void | savereal (const char *fn, int coord) |
| stores the content (real part of one component of the the electric field, coord determines the coordinate 0,1,2 for x,y,z) of the detector array in the file fn | |
| void | setD (double d1, double d2) |
| void | setD1 (double d1) |
| void | setD2 (double d2) |
| void | setN (int n1, int n2) |
| set the dimensions of the array | |
| void | setN1 (int n1) |
| set the dimension of the array in the first direction | |
| void | setN2 (int n2) |
| set the dimension of the array in the second direction | |
| void | setPosition (maths::Vector< double > Pos) |
| set the position of the detector | |
| int | Type () |
| returns kind of detector | |
| ~Detector (void) | |
Additional Inherited Members | |
| Public Attributes inherited from GOAT::raytracing::Detector | |
| std::vector< std::vector< maths::Vector< std::complex< double > > > > | D |
| Here, the data will be stored. | |
| std::string | fname |
| Protected Member Functions inherited from GOAT::raytracing::Detector | |
| void | init (int n1, int n2) |
| initialise array (for internal use only) | |
| Protected Attributes inherited from GOAT::raytracing::Detector | |
| double | d1 =0 |
| double | d2 =0 |
| maths::Vector< double > | e1 |
| unit vector in the first direction | |
| maths::Vector< double > | e2 |
| unit vector in the second direction | |
| maths::Vector< double > | n |
| int | n1 =0 |
| int | n2 =0 |
| maths::Vector< double > | P |
| Position of the detector. | |
| int | type =-1 |
This class provides a plane detector, defined by its center point and its side length. The detector plane is spanned by the vectors e1 and e2. The absolute value of the vectors e1 and e2 are the cell widths in the corresponding direction.
Definition at line 101 of file detector.h.
| GOAT::raytracing::DetectorPlane::DetectorPlane | ( | void | ) |
| GOAT::raytracing::DetectorPlane::DetectorPlane | ( | maths::Vector< double > | P, |
| maths::Vector< double > | n, | ||
| double | d, | ||
| int | N ) |
Constructor which defines a square detector defined by the center Position P, the surface normal n, the width d and the number of cells in one direction N (so the array is N x N).
| GOAT::raytracing::DetectorPlane::DetectorPlane | ( | maths::Vector< double > | P, |
| maths::Vector< double > | e1, | ||
| maths::Vector< double > | e2, | ||
| int | n1, | ||
| int | n2 ) |
Constructor which defines a more general detector.
| P | Position vector |
| e1 | first direction vector |
| e2 | second direction vector |
| n1 | number of cells in e1 direction |
| n2 | number of cells in e2 direction |
|
virtual |
implementation of the intersection checking function for the plane detector
Implements GOAT::raytracing::Detector.
| void GOAT::raytracing::DetectorPlane::setNorm | ( | maths::Vector< double > | n | ) |
set the normal on the detector