![]() |
Shape of the earth, ice thicknesses, profiles of earth layers, densities, neutrino absorption. More...
#include <earthmodel.hh>
Public Member Functions | |
| EarthModel (int model=0, int WEIGHTABSORPTION_SETTING=1) | |
| virtual double | Geoid (double latitude) |
| virtual double | Geoid (const Position &pos) |
| virtual double | IceThickness (double lon, double lat) |
| virtual double | IceThickness (const Position &pos) |
| virtual double | Surface (double lon, double lat) |
| virtual double | Surface (const Position &pos) |
| virtual int | InFirn (const Position &pos) |
| virtual double | SurfaceDeepIce (const Position &pos) |
| virtual double | SurfaceAboveGeoid (double lon, double lat) |
| virtual double | SurfaceAboveGeoid (const Position &pos) |
| virtual double | WaterDepth (double lon, double lat) |
| virtual double | WaterDepth (const Position &pos) |
| virtual double | RockSurface (double lon, double lat) |
| virtual double | RockSurface (const Position &pos) |
| double | GetDensity (double altitude, const Position earth_in, int &crust_entered, bool *inice=0) |
| int | Getchord (bool unbiased_selection, double len_int_kgm2, const Position &earth_in, double distance_in_ice, bool include_ice_absorption, const Position &posnu, int inu, double &chord, double &probability_tmp, double &weight1_tmp, double &nearthlayers, double myair, double &total_kgm2, int &crust_entered, int &mantle_entered, int &core_entered) |
| Vector | GetSurfaceNormal (const Position &r_out) |
| void | EarthCurvature (double *array, double depth_temp) |
| Position | WhereDoesItEnter (const Position &posnu, const Vector &nnu) |
| int | GeoidIntersection (Vector x0, Vector p0, Position *int1, Position *int2, double extra_height=5500, double *ds=0) const |
Static Public Member Functions | |
| static double | LongtoPhi_0isPrimeMeridian (double longitude) |
| static double | LongtoPhi_0is180thMeridian (double longitude) |
Public Attributes | |
| double | radii [3] |
| double | volume |
| double | ice_area |
| double | max_icevol_perbin |
| double | max_icethk_perbin |
Static Public Attributes | |
| static constexpr double | R_EARTH =6.378140E6 |
Protected Member Functions | |
| void | ReadCrust (string) |
| double | SmearPhi (int ilon, double rand) |
| double | SmearTheta (int ilat, double rand) |
| double | dGetTheta (int itheta) |
| double | dGetPhi (int ilon) |
| void | GetILonILat (const Position &, int &ilon, int &ilat) |
| double | GetLat (double theta) |
| double | GetLon (double phi) |
| Vector | PickPosnuForaLonLat (double lon, double lat, double theta, double phi) |
Shape of the earth, ice thicknesses, profiles of earth layers, densities, neutrino absorption.
Definition at line 40 of file earthmodel.hh.


| int EarthModel::GeoidIntersection | ( | Vector | x0, |
| Vector | p0, | ||
| Position * | int1, | ||
| Position * | int2, | ||
| double | extra_height = 5500, |
||
| double * | ds = 0 |
||
| ) | const |
The reference ellipsoid is
x^2 y^2 z^2 -— + --— + --— = 1 R^2_eq R^2_eq + R^2_po
or x^2 + y^2 + r z^2 - R^2_eq= 0
where r is the ratio of squares of the equatorial to polar radius.
we have {x} = {x0} + {p0} d
or
x = x0_x + p0_x * d y = x0_y + p0_y * d z = x0_z + p0_z* d
so we must solve the quadratic in terms of d
Definition at line 1083 of file earthmodel.cc.
1.8.11