roughness.hh
1 #ifndef ROUGHNESS_H_
2 #define ROUGHNESS_H_
3 
4 #include <iostream>
5 #include <iomanip>
6 #include <fstream>
7 #include <string>
8 #include <stdexcept>
9 #include <stdio.h>
10 #include <stddef.h>
11 #include <math.h>
12 #include <vector>
13 
14 #include "Constants.h"
15 #include "Settings.h"
16 
17 #ifdef USE_HEALPIX
18 #include "healpix_base.h"
19 #endif
20 
21 class TF2;
22 class Ray;
23 class Vector;
24 class Settings;
25 class IceModel;
26 class Balloon;
27 class Interaction;
28 class Screen;
29 
30 class Roughness {
31 
32 private:
33 
34  std::string rough_dir_str;
35 #ifdef USE_HEALPIX
36  int order;
37  Healpix_Base H;
38 #endif
39 
40  std::string roughscale_str;
41  std::string roughnsims_str;
42  std::string roughmaterial_str;
43  double NINDEX;
44 public:
45 
46  Roughness(Settings *settings1);
47 
48  void SetRoughScale(double a);
49 
50  std::string incAngle_asString(double T0);
51 
52 #ifdef USE_HEALPIX
53 
62  void InterpolatePowerValue(double &tcoeff_perp_polperp, double &tcoeff_parl_polperp, double &tcoeff_perp_polparl, double &tcoeff_parl_polparl, double T0, double T, double A);
63 #endif
64 
65 };
66 
67 #endif
Definition: screen.hh:22
Reads in and stores input settings for the run.
Definition: Settings.h:37
Stores everything about a particular neutrino interaction. Interaction.
Definition: Primaries.h:135
Handles everything related to balloon positions, payload orientation over the course of a flight...
Definition: balloon.hh:30
This class represents a three-vector. Operators are overloaded to provide for the familiar operations...
Definition: vector.hh:27
Ray tracing.
Definition: ray.hh:20
Ice thicknesses and water depth.
Definition: icemodel.hh:103