42 #ifdef ICEMODEL_DEBUG_TREE 64 balloon.SetXYZ(0,0,0);
71 enterice.SetXYZ(0,0,0);
72 exitice.SetXYZ(0,0,0);
73 exitearth.SetXYZ(0,0,0);
138 IceModel(
int model=0,
int earth_mode=0,
int WEIGHTABSORPTION_SETTING=1);
142 double Surface(
double lon,
double lat) ;
182 std::vector<std::pair<double,double> > & intersections,
double initial_step_size = 50,
int map_resolution=1000);
187 double GetN(
double depth);
191 void FillArraysforTree(
double lon_ground[1068][869],
double lat_ground[1068][869],
double lon_ice[1200][1000],
double lat_ice[1200][1000],
double lon_water[1200][1000],
double lat_water[1200][1000]);
195 const Position * balloon_position,
double max_ps_distance,
double chord_step,
196 double len_int_kgm2,
const Vector * force_dir = 0);
232 double Area(
double latitude);
void LonLattoEN(double lon, double lat, double &E, double &N)
Definition: icemodel.cc:1262
static constexpr double R_EARTH
Definition: earthmodel.hh:46
const double bedmap_c_0
Definition: icemodel.hh:40
void ReadIceThickness()
Definition: icemodel.cc:1646
int GetIceIntersectionsCartesian(const Position &posnu, const Vector &nnu, std::vector< std::pair< double, double > > &intersections, double initial_step_size=50, int map_resolution=1000)
Definition: icemodel.cc:2013
int WhereDoesItExitIceForward(const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice)
Definition: icemodel.cc:902
double EffectiveAttenuationLength(Settings *settings1, const Position &pos, const int &whichray)
Definition: icemodel.cc:1199
int yLowerLeft_ice
Definition: icemodel.hh:108
TH2 * cart_ice_top
Definition: icemodel.hh:226
Position PickInteractionLocation(int ibnposition, Settings *settings1, const Position &rbn, Interaction *interaction1)
Definition: icemodel.cc:260
double l_westlandup[N_westlandup]
Definition: icemodel.hh:257
double d_westlanddown[N_westlanddown]
Definition: icemodel.hh:264
vector< double > volume_inhorizon
Definition: icemodel.hh:137
virtual ~IceModel()
Definition: icemodel.cc:245
static const int N_shelfup
Definition: icemodel.hh:254
double sample_x
Definition: icemodel.hh:224
const TH2 * GetCartesianBottom() const
Definition: icemodel.hh:178
const double ellipsoid_b
Definition: icemodel.hh:34
const double eccentricity
Definition: icemodel.hh:35
static const int N_sheetup
Definition: icemodel.hh:252
double l_sheetdown[N_sheetdown]
Definition: icemodel.hh:260
static const int N_sheetdown
Definition: icemodel.hh:259
int nCols_ground
Definition: icemodel.hh:109
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
Definition: vector.hh:27
int nRows_water
Definition: icemodel.hh:114
int yLowerLeft_ground
Definition: icemodel.hh:112
Vector GetSurfaceNormal(const Position &r_out)
Definition: icemodel.cc:620
vector< double > maxvol_inhorizon
Definition: icemodel.hh:220
int RonneIceShelf(const Position &position)
Definition: icemodel.cc:1117
int whichray
Definition: icemc.cc:162
TFile * cart_ice_file
Definition: icemodel.hh:228
int AcceptableRfexit(const Vector &nsurf_rfexit, const Position &rfexit, const Vector &n_exit2rx)
Definition: icemodel.cc:1157
int cellSize
Definition: icemodel.hh:106
int WhereDoesItEnterIce(const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice)
Definition: icemodel.cc:722
static const int N_westlanddown
Definition: icemodel.hh:263
void GroundENtoLonLat(int e, int n, double &lon, double &lat)
Definition: icemodel.cc:1331
bool CartesianIsInIce(double x, double y, double z)
Definition: icemodel.cc:1997
static const int N_westlandup
Definition: icemodel.hh:256
int IceOnWater(const Position &postition)
Definition: icemodel.cc:1087
void IceENtoLonLat(int e, int n, double &lon, double &lat)
Definition: icemodel.cc:1326
vector< vector< int > > ilon_inhorizon
Definition: icemodel.hh:216
double d_shelfup[N_shelfup]
Definition: icemodel.hh:255
void ReadWaterDepth()
Definition: icemodel.cc:1789
const double bedmap_c_bar
Definition: icemodel.hh:38
TH2 * cart_ice_bot
Definition: icemodel.hh:227
Ice thicknesses and water depth.
Definition: icemodel.hh:88
double volume_inhorizon_average
Definition: icemodel.hh:215
double Surface(double lon, double lat)
Definition: icemodel.cc:1053
const double bedmap_a_bar
Definition: icemodel.hh:36
int OutsideAntarctica(const Position &pos)
Definition: icemodel.cc:1149
void FillArraysforTree(double lon_ground[1068][869], double lat_ground[1068][869], double lon_ice[1200][1000], double lat_ice[1200][1000], double lon_water[1200][1000], double lat_water[1200][1000])
double d_westlandup[N_westlandup]
Definition: icemodel.hh:257
This class is a 3-vector that represents a position on the Earth's surface.
Definition: position.hh:26
double d_sheetup[N_sheetup]
Definition: icemodel.hh:253
double d_sheetdown[N_sheetup]
Definition: icemodel.hh:260
double l_shelfdown[N_shelfdown]
Definition: icemodel.hh:262
const double FIRNDEPTH
Definition: icemodel.hh:24
Position PickBalloonPosition()
Definition: icemodel.cc:254
double SurfaceAboveGeoid(double lon, double lat)
Definition: icemodel.cc:1022
int nCols_ice
Definition: icemodel.hh:104
int ice_model
Definition: icemodel.hh:208
int WestLand(const Position &pos)
Definition: icemodel.cc:1131
double getSampleX() const
Definition: icemodel.hh:198
int nRows_ground
Definition: icemodel.hh:110
double l_shelfup[N_shelfup]
Definition: icemodel.hh:255
TH2D h_water_depth
Definition: icemodel.hh:95
void ReadGroundBed()
Definition: icemodel.cc:1724
int xLowerLeft_ground
Definition: icemodel.hh:111
int xLowerLeft_ice
Definition: icemodel.hh:107
vector< vector< int > > northing_inhorizon
Definition: icemodel.hh:219
Ray tracing.
Definition: ray.hh:20
Handles everything related to balloon positions, payload orientation over the course of a flight...
Definition: balloon.hh:30
Reads in and stores input settings for the run.
Definition: Settings.h:35
const TH2 * GetCartesianTop() const
Definition: icemodel.hh:177
const double bedmap_d_bar
Definition: icemodel.hh:39
double Area(double latitude)
Definition: icemodel.cc:1255
TH2D h_ice_thickness
Definition: icemodel.hh:94
double sample_y
Definition: icemodel.hh:224
void WaterENtoLonLat(int e, int n, double &lon, double &lat)
Definition: icemodel.cc:1335
void GetMAXHORIZON(Balloon *bn1)
Definition: icemodel.cc:1342
int xLowerLeft_water
Definition: icemodel.hh:115
void ENtoLonLat(int e_coord, int n_coord, double xLowerLeft, double yLowerLeft, double &lon, double &lat)
Definition: icemodel.cc:1277
const double scale_factor
Definition: icemodel.hh:32
IceModel(int model=0, int earth_mode=0, int WEIGHTABSORPTION_SETTING=1)
Definition: icemodel.cc:104
int PickUnbiased(Interaction *interaction1, double len_int_kgm2, double &position_weight, double chord_step, Vector *force_dir=0)
Definition: icemodel.cc:542
double cart_min_z
Definition: icemodel.hh:223
vector< vector< int > > ilat_inhorizon
Definition: icemodel.hh:217
TH2D h_ground_elevation
Definition: icemodel.hh:95
int RossIceShelf(const Position &position)
Definition: icemodel.cc:1093
int nCols_water
Definition: icemodel.hh:113
double l_westlanddown[N_westlanddown]
Definition: icemodel.hh:264
double getSampleY() const
Definition: icemodel.hh:199
double GetN(double depth)
Definition: icemodel.cc:1175
int nRows_ice
Definition: icemodel.hh:105
int RossExcept(const Position &position)
Definition: icemodel.cc:1107
double cart_max_z
Definition: icemodel.hh:222
double WaterDepth(double lon, double lat)
Definition: icemodel.cc:1061
int PickUnbiasedPointSourceNearBalloon(Interaction *interaction1, const Position *balloon_position, double max_ps_distance, double chord_step, double len_int_kgm2, const Vector *force_dir=0)
Definition: icemodel.cc:421
int NODATA
Definition: icemodel.hh:117
const double bedmap_b_bar
Definition: icemodel.hh:37
int WhereDoesItExitIce(const Position &posnu, const Vector &nnu, double stepsize, Position &r_enterice)
Definition: icemodel.cc:811
double bedmap_R
Definition: icemodel.hh:96
int yLowerLeft_water
Definition: icemodel.hh:116
double GetBalloonPositionWeight(int ibnpos)
Definition: icemodel.cc:1140
double bedmap_nu
Definition: icemodel.hh:100
double l_sheetup[N_sheetup]
Definition: icemodel.hh:253
double IceThickness(double lon, double lat)
Definition: icemodel.cc:991
void CreateCartesianTopAndBottom(int resolution, bool force_new=false)
Definition: icemodel.cc:1859
vector< vector< int > > easting_inhorizon
Definition: icemodel.hh:218
void CreateHorizons(Settings *settings1, Balloon *bn1, double theta_bn, double phi_bn, double altitude_bn, ofstream &foutput)
Definition: icemodel.cc:1353
int cart_resolution
Definition: icemodel.hh:229
Shape of the earth, ice thicknesses, profiles of earth layers, densities, neutrino absorption...
Definition: earthmodel.hh:40
static const int N_shelfdown
Definition: icemodel.hh:261
Stores everything about a particular neutrino interaction. Interaction.
Definition: Primaries.h:136
const double ellipsoid_inv_f
Definition: icemodel.hh:33
int DEPTH_DEPENDENT_N
Definition: icemodel.hh:209
double d_shelfdown[N_shelfdown]
Definition: icemodel.hh:262