This file contains the Vector template class and some useful functions around this class.
More...
|
| double | GOAT::maths::abs (const Vector< double > &r) |
| | Fehlermeldung ausgeben.
|
| double | GOAT::maths::abs (const Vector< int > &r) |
| | Calculates the absolute value of an integer vector.
|
| double | GOAT::maths::abs (const Vector< long long int > &r) |
| | Calculates the absolute value of an integer vector.
|
| double | GOAT::maths::abs (const Vector< std::complex< double > > &r) |
| | Calculates the absolute value of a complex vector \( (abs(\vec{r})=\sqrt{\vec{r} \cdot \vec{r} }) \).
|
| double | GOAT::maths::abs2 (const Vector< double > &r) |
| | Calculates the squared absolute value of double vector.
|
| double | GOAT::maths::abs2 (const Vector< std::complex< double > > &r) |
| | Calculates the squared absolute value of double vector \( (abs2(\vec{r})=\vec{r} \cdot \vec{r} ) \).
|
| double | GOAT::maths::abs2 (double x) |
| | Squared absolute value of x.
|
| double | GOAT::maths::abs2 (std::complex< double > x) |
| | Absolute value of the complex number x \( abs(x)=\sqrt{x \cdot x} \).
|
| double | GOAT::maths::arctan (double y, double x) |
| Vector< double > | GOAT::maths::arg (Vector< std::complex< double > > &r) |
| std::complex< double > | GOAT::maths::asin (std::complex< double > z) |
| template<class T> |
| Vector< T > | GOAT::maths::cart2sphere (const Vector< T > &x) |
| | Transformation from cartesian coordinates to spherical coordinates.
|
| Vector< double > | GOAT::maths::cart2sphere (double x, double y, double z) |
| | Converts a vector, described by its cartesian components, into a vector in spherical coordinates ( \((r, \vartheta, \varphi) \))
|
| Vector< double > | GOAT::maths::ceil (const Vector< double > &r) |
| Vector< std::complex< double > > | GOAT::maths::conj (const Vector< std::complex< double > > &r) |
| | Conjugate complex of the vector r.
|
| double * | GOAT::maths::conv2double (int numV, Vector< std::complex< double > > *r) |
| | This function returns an array with all components of the Vector-array r.
|
| Vector< std::complex< double > > * | GOAT::maths::conv2vector (int num, double *r) |
| | This function converts a list of doubles into a list of complex vectors.
|
| Vector< std::complex< double > > | GOAT::maths::convd2c (const Vector< double > &r) |
| Vector< std::complex< double > > | GOAT::maths::convd2c (const Vector< std::complex< double > > &r) |
| Vector< double > | GOAT::maths::emax (Vector< double > &P1, Vector< double > &P2) |
| Vector< double > | GOAT::maths::ephi (double theta, double phi) |
| | returns a normalized vector in phi-direction on a unit sphere with spherical coordinates /p theta and /p phi
|
| Vector< double > | GOAT::maths::er (double theta, double phi) |
| | returns a normalized vector in r-direction on a unit sphere with spherical coordinates /p theta and /p phi
|
| void | GOAT::maths::errmsg (char *S) |
| Vector< double > | GOAT::maths::etheta (double theta, double phi) |
| | returns a normalized vector in theta-direction on a unit sphere with spherical coordinates /p theta and /p phi
|
| Vector< double > | GOAT::maths::floor (const Vector< double > &r) |
| | rounding up, Component-by-component
|
| void | GOAT::maths::getKSystem (const Vector< double > &n, const Vector< double > &k, Vector< double > &e1, Vector< double > &e2, Vector< double > &e3) |
| | Calculates the three direction vectors of a coordinate system formed by the surface normal n and the propagation vector k.
|
| Vector< std::complex< double > > | GOAT::maths::grad2d (double(*f(Vector< std::complex< double > >)), Vector< std::complex< double > > r, double d) |
| | calculates the gradient of a given function at a certain position
|
| Vector< int > | GOAT::maths::iceil (const Vector< double > &r) |
| Vector< int > | GOAT::maths::ifloor (const Vector< double > &r) |
| | rounding up, component-by-component rounding
|
| std::complex< double > | GOAT::maths::ihoch (int l) |
| Vector< double > | GOAT::maths::imag (Vector< std::complex< double > > r) |
| | returns a vector with the imaginary parts of the components of the complex vector r
|
| bool | GOAT::maths::isnan (Vector< double > v) |
| | returns true if one of the components of v is NaN
|
| bool | GOAT::maths::isnan (Vector< std::complex< double > > v) |
| | returns true if one of the components of v is NaN
|
| Vector< std::complex< double > > | GOAT::maths::makeReal (const Vector< std::complex< double > > &r) |
| Vector< double > | GOAT::maths::nanV (const char *tagp) |
| Vector< double > | GOAT::maths::norm (const Vector< double > &r) |
| Vector< std::complex< double > > | GOAT::maths::norm (const Vector< std::complex< double > > &r) |
| std::complex< double > | GOAT::maths::operator* (int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator* (long long int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator* (std::complex< double > x, int y) |
| std::complex< double > | GOAT::maths::operator* (std::complex< double > x, long long int y) |
| std::complex< double > | GOAT::maths::operator+ (int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator+ (long long int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator+ (std::complex< double > x, int y) |
| std::complex< double > | GOAT::maths::operator+ (std::complex< double > x, long long int y) |
| std::complex< double > | GOAT::maths::operator- (int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator- (long long int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator- (std::complex< double > x, int y) |
| std::complex< double > | GOAT::maths::operator- (std::complex< double > x, long long int y) |
| std::complex< double > | GOAT::maths::operator/ (int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator/ (long long int y, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator/ (std::complex< double > x, int y) |
| std::complex< double > | GOAT::maths::operator/ (std::complex< double > x, long long int y) |
| std::ostream & | GOAT::maths::operator<< (std::ostream &is, const Vector< double > &r) |
| std::ostream & | GOAT::maths::operator<< (std::ostream &is, const Vector< int > &r) |
| std::ostream & | GOAT::maths::operator<< (std::ostream &is, const Vector< std::complex< double > > &r) |
| std::istream & | GOAT::maths::operator>> (std::istream &is, Vector< double > &r) |
| std::istream & | GOAT::maths::operator>> (std::istream &is, Vector< int > &r) |
| std::istream & | GOAT::maths::operator>> (std::istream &is, Vector< std::complex< double > > &r) |
| | input operator, reads complex vector from file
|
| Vector< double > | GOAT::maths::real (Vector< std::complex< double > > r) |
| | returns a vector with the real parts of the components of the complex vector r
|
| Vector< double > | GOAT::maths::rotate (const Vector< double > &r, double dtheta, double dphi) |
| void | GOAT::maths::rotate (Vector< double > &r, double phi) |
| double | GOAT::maths::sDreieck (Vector< double >, Vector< double >, Vector< double >) |
| double | GOAT::maths::sign (double x) |
| template<class T> |
| Vector< T > | GOAT::maths::sphere2cart (const Vector< T > &P) |
| | Transforms vector from spherical coordinates into cartesian coordinates.
|
| Vector< double > | GOAT::maths::sphere2cart (double r, double theta, double phi) |
| | Converts a vector, described by its spherical components ( \((r, \vartheta, \varphi) \)), into a vector in cartesian coordinates.
|
| void | GOAT::maths::sphereunitv (Vector< double > &P, Vector< double > &er, Vector< double > ðeta, Vector< double > &ephi) |
| double | GOAT::maths::sViereck (Vector< double >, Vector< double >, Vector< double >, Vector< double >) |
| std::complex< double > | GOAT::maths::tan (std::complex< double > z) |
| char * | GOAT::maths::toString (char *S, Vector< double > P) |
| | Converts a double vector into a string.
|
| char * | GOAT::maths::toString (char *S, Vector< std::complex< double > > P) |
| | Converts a complex vector into a string.
|
| Vector< std::complex< double > > | GOAT::maths::vdc (const Vector< double > &r) |
Standard operators for vectors with mixed types
|
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< double > &a, const Vector< int > &b) |
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< double > &a, const Vector< std::complex< double > > &b) |
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< int > &a, const Vector< double > &b) |
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< int > &a, const Vector< std::complex< double > > &b) |
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< std::complex< double > > &a, const Vector< double > &b) |
| Vector< std::complex< double > > | GOAT::maths::operator% (const Vector< std::complex< double > > &a, const Vector< int > &b) |
| double | GOAT::maths::operator* (const Vector< double > &a, const Vector< int > &b) |
| std::complex< double > | GOAT::maths::operator* (const Vector< double > &a, const Vector< std::complex< double > > &b) |
| Vector< double > | GOAT::maths::operator* (const Vector< double > &r, int x) |
| Vector< double > | GOAT::maths::operator* (const Vector< double > &r, long long int x) |
| Vector< std::complex< double > > | GOAT::maths::operator* (const Vector< double > &r, std::complex< double > x) |
| | multiplication between a double valued vector and a complex valued scalar
|
| double | GOAT::maths::operator* (const Vector< int > &a, const Vector< double > &b) |
| std::complex< double > | GOAT::maths::operator* (const Vector< int > &a, const Vector< std::complex< double > > &b) |
| Vector< double > | GOAT::maths::operator* (const Vector< int > &r, double x) |
| Vector< std::complex< double > > | GOAT::maths::operator* (const Vector< int > &r, std::complex< double > x) |
| Vector< double > | GOAT::maths::operator* (const Vector< long long int > &r, double x) |
| Vector< std::complex< double > > | GOAT::maths::operator* (const Vector< long long int > &r, std::complex< double > x) |
| std::complex< double > | GOAT::maths::operator* (const Vector< std::complex< double > > &a, const Vector< double > &b) |
| std::complex< double > | GOAT::maths::operator* (const Vector< std::complex< double > > &a, const Vector< int > &b) |
| Vector< double > | GOAT::maths::operator* (double x, const Vector< int > &r) |
| Vector< double > | GOAT::maths::operator* (double x, const Vector< long long int > &r) |
| Vector< double > | GOAT::maths::operator* (int x, const Vector< double > &r) |
| Vector< double > | GOAT::maths::operator* (long long int x, const Vector< double > &r) |
| Vector< std::complex< double > > | GOAT::maths::operator* (std::complex< double > x, const Vector< double > &r) |
| | multiplication between a complex valued scalar and a double valued vector
|
| Vector< std::complex< double > > | GOAT::maths::operator* (std::complex< double > x, const Vector< int > &r) |
| Vector< std::complex< double > > | GOAT::maths::operator* (std::complex< double > x, const Vector< long long int > &r) |
| Vector< double > | GOAT::maths::operator+ (const Vector< double > &r1, const Vector< int > &r2) |
| Vector< double > | GOAT::maths::operator+ (const Vector< double > &r1, const Vector< long long int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< double > &r1, const Vector< std::complex< double > > &r2) |
| Vector< double > | GOAT::maths::operator+ (const Vector< int > &r1, const Vector< double > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< int > &r1, const Vector< std::complex< double > > &r2) |
| Vector< double > | GOAT::maths::operator+ (const Vector< long long int > &r1, const Vector< double > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< long long int > &r1, const Vector< std::complex< double > > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< std::complex< double > > &r1, const Vector< double > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< std::complex< double > > &r1, const Vector< int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator+ (const Vector< std::complex< double > > &r1, const Vector< long long int > &r2) |
| Vector< double > | GOAT::maths::operator- (const Vector< double > &r1, const Vector< int > &r2) |
| Vector< double > | GOAT::maths::operator- (const Vector< double > &r1, const Vector< long long int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< double > &r1, const Vector< std::complex< double > > &r2) |
| Vector< double > | GOAT::maths::operator- (const Vector< int > &r1, const Vector< double > &r2) |
| Vector< long long int > | GOAT::maths::operator- (const Vector< int > &r1, const Vector< long long int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< int > &r1, const Vector< std::complex< double > > &r2) |
| Vector< double > | GOAT::maths::operator- (const Vector< long long int > &r1, const Vector< double > &r2) |
| Vector< long long int > | GOAT::maths::operator- (const Vector< long long int > &r1, const Vector< int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< long long int > &r1, const Vector< std::complex< double > > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< std::complex< double > > &r1, const Vector< double > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< std::complex< double > > &r1, const Vector< int > &r2) |
| Vector< std::complex< double > > | GOAT::maths::operator- (const Vector< std::complex< double > > &r1, const Vector< long long int > &r2) |
| Vector< double > | GOAT::maths::operator/ (const Vector< double > &r, int x) |
| Vector< double > | GOAT::maths::operator/ (const Vector< double > &r, long long int x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< double > &r, std::complex< double > x) |
| Vector< double > | GOAT::maths::operator/ (const Vector< int > &r, double x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< int > &r, std::complex< double > x) |
| Vector< double > | GOAT::maths::operator/ (const Vector< long long int > &r, double x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< long long int > &r, std::complex< double > x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< std::complex< double > > &r, double x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< std::complex< double > > &r, int x) |
| Vector< std::complex< double > > | GOAT::maths::operator/ (const Vector< std::complex< double > > &r, long long int x) |
Element-wise multiplication of two vectors with different types
|
| Vector< double > | GOAT::maths::emult (const Vector< double > &r1, const Vector< int > &r2) |
| Vector< double > | GOAT::maths::emult (const Vector< double > &r1, const Vector< long long int > &r2) |
| Vector< double > | GOAT::maths::emult (const Vector< int > &r1, const Vector< double > &r2) |
| Vector< double > | GOAT::maths::emult (const Vector< long long int > &r1, const Vector< double > &r2) |