OscProb
EarthModelBase.h
Go to the documentation of this file.
1
18
19#ifndef EARTHMODELBASE_H
20#define EARTHMODELBASE_H
21
22#include "NuPath.h"
23#include "TObject.h"
24
25namespace OscProb {
26
27 class EarthModelBase : public TObject {
28 public:
35 virtual void SetDetPos(
36 double rad, double lat = 0,
37 double lon = 0) = 0;
39
46 virtual int FillPath(double cosT,
47 double phi) = 0;
49
50 virtual std::vector<NuPath> GetNuPath();
52
53 virtual std::vector<NuPath> GetMergedPaths(
54 double prec = 0.25);
55
56 virtual double GetTotalL(
57 double cosT);
58 virtual double GetCosT(
59 double L);
60
61 virtual void SetRemoveSmallPaths(
62 bool rp = true);
63
64 protected:
65 virtual void SetDetectorCoordinates(
66 double rad, double lat,
67 double lon);
69
70 virtual void AddPathSegment(
71 double length, double density, double zoa,
72 int index);
73
74 std::vector<NuPath> fNuPath;
75
76 double fRadiusMax;
77 double fDetRadius;
78 double fDetLat;
79 double fDetLon;
80
82
83 // Required for saving in ROOT files
85 };
86
87} // namespace OscProb
88
89#endif
Base class for implementing an earth model.
virtual double GetTotalL(double cosT)
Get the total baseline for a given cosTheta.
double fRadiusMax
Maximum radius in Earth model (in km)
bool fRemoveSmallPaths
Tag whether to merge small paths.
virtual int FillPath(double cosT, double phi)=0
double fDetLat
The latitude (in rad) where the detector sits.
virtual std::vector< NuPath > GetMergedPaths(double prec=0.25)
Get merged path sequence in a vector.
virtual double GetCosT(double L)
Get the cosTheta for a given total baseline.
double fDetLon
The longitude (in rad) where the detector sits.
virtual std::vector< NuPath > GetNuPath()
virtual void SetRemoveSmallPaths(bool rp=true)
Set tag to remove small paths.
virtual void SetDetPos(double rad, double lat=0, double lon=0)=0
virtual void AddPathSegment(double length, double density, double zoa, int index)
Add a path segment to the sequence.
ClassDef(EarthModelBase, 1)
std::vector< NuPath > fNuPath
The current neutrino path sequence.
double fDetRadius
The radius where the detector sits (in km)
virtual void SetDetectorCoordinates(double rad, double lat, double lon)
Some useful general definitions.
Definition: Absorption.h:6