Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
EarthModel Class Reference

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)
 

Protected Attributes

int EARTH_MODEL
 
int CONSTANTICETHICKNESS
 
int CONSTANTCRUST
 
int FIXEDELEVATION
 
int FLATSURFACE
 
int weightabsorption
 
double thetastep
 
double phistep
 
double surfacer [NLON][NLAT]
 
double icer [NLON][NLAT]
 
double waterr [NLON][NLAT]
 
double softsedr [NLON][NLAT]
 
double hardsedr [NLON][NLAT]
 
double uppercrustr [NLON][NLAT]
 
double middlecrustr [NLON][NLAT]
 
double lowercrustr [NLON][NLAT]
 
double geoid [NLAT]
 
double MIN_ALTITUDE_CRUST
 
double elevationarray [NLON][NLAT]
 
double waterthkarray [NLON][NLAT]
 
double icethkarray [NLON][NLAT]
 
double softsedthkarray [NLON][NLAT]
 
double hardsedthkarray [NLON][NLAT]
 
double uppercrustthkarray [NLON][NLAT]
 
double middlecrustthkarray [NLON][NLAT]
 
double lowercrustthkarray [NLON][NLAT]
 
double crustthkarray [NLON][NLAT]
 
double waterdensityarray [NLON][NLAT]
 
double icedensityarray [NLON][NLAT]
 
double softseddensityarray [NLON][NLAT]
 
double hardseddensityarray [NLON][NLAT]
 
double uppercrustdensityarray [NLON][NLAT]
 
double middlecrustdensityarray [NLON][NLAT]
 
double lowercrustdensityarray [NLON][NLAT]
 
double area [NLAT]
 
double average_iceth
 

Static Protected Attributes

static constexpr int getchord_method =2
 
static const double GEOID_MAX
 
static const double GEOID_MIN
 
static const double COASTLINE
 
static constexpr int NLON =180
 
static constexpr int NLAT =90
 
static constexpr int NPHI =180
 
static const double MAXTHETA
 
static const int ILAT_COASTLINE
 

Detailed Description

Shape of the earth, ice thicknesses, profiles of earth layers, densities, neutrino absorption.

Definition at line 40 of file earthmodel.hh.

Inheritance diagram for EarthModel:
Inheritance graph
[legend]
Collaboration diagram for EarthModel:
Collaboration graph
[legend]

Member Function Documentation

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.


The documentation for this class was generated from the following files: