38 lines
1.1 KiB
C
Executable File
38 lines
1.1 KiB
C
Executable File
/*
|
|
Data structures for geometric elements and functions that operate on them.
|
|
Defines the TESSEROID, SPHERE, and PRISM structures.
|
|
*/
|
|
|
|
#ifndef _MAG_TESSEROIDS_GEOMETRY_H_
|
|
#define _MAG_TESSEROIDS_GEOMETRY_H_
|
|
|
|
|
|
/* Store information on a tesseroid */
|
|
typedef struct magtess_struct {
|
|
/* s, n, w, e in degrees. r1 and r2 are the smaller and larger radius */
|
|
double density; /* in SI units */
|
|
double w; /* western longitude border in degrees */
|
|
double e; /* eastern longitude border in degrees */
|
|
double s; /* southern latitude border in degrees */
|
|
double n; /* northern latitude border in degrees */
|
|
double r1; /* smallest radius border in SI units */
|
|
double r2; /* largest radius border in SI units */
|
|
double suscept; /* magnetic susceptibility */
|
|
double Bx; /* x-component of ambient magnetic field */
|
|
double By; /* y-component of ambient magnetic field */
|
|
double Bz; /* z-component of ambient magnetic field */
|
|
|
|
double cos_a1;
|
|
double sin_a1;
|
|
double cos_b1;
|
|
double sin_b1;
|
|
//double Rx;
|
|
//double Ry;
|
|
//double Rz;
|
|
} MAG_TESSEROID;
|
|
|
|
|
|
void split_tess(MAG_TESSEROID tess, MAG_TESSEROID *split);
|
|
|
|
#endif
|