OscProb
|
Base class for implementing an earth model. More...
#include <EarthModelBase.h>
Public Member Functions | |
virtual void | SetDetPos (double rad, double lat=0, double lon=0)=0 |
virtual int | FillPath (double cosT, double phi)=0 |
virtual std::vector< NuPath > | GetNuPath () |
virtual std::vector< NuPath > | GetMergedPaths (double prec=0.25) |
Get merged path sequence in a vector. More... | |
virtual double | GetTotalL (double cosT) |
Get the total baseline for a given cosTheta. More... | |
virtual double | GetCosT (double L) |
Get the cosTheta for a given total baseline. More... | |
virtual void | SetRemoveSmallPaths (bool rp=true) |
Set tag to remove small paths. More... | |
Protected Member Functions | |
virtual void | SetDetectorCoordinates (double rad, double lat, double lon) |
virtual void | AddPathSegment (double length, double density, double zoa, int index) |
Add a path segment to the sequence. More... | |
ClassDef (EarthModelBase, 1) | |
Protected Attributes | |
std::vector< NuPath > | fNuPath |
The current neutrino path sequence. More... | |
double | fRadiusMax |
Maximum radius in Earth model (in km) More... | |
double | fDetRadius |
The radius where the detector sits (in km) More... | |
double | fDetLat |
The latitude (in rad) where the detector sits. More... | |
double | fDetLon |
The longitude (in rad) where the detector sits. More... | |
bool | fRemoveSmallPaths |
Tag whether to merge small paths. More... | |
This abstract class provides the structure to able to produce path sequences through the Earth as a function of the azimuthal angle and cosine of the zenith angle with respect to the detector.
The detector can be positioned at any point within the Earth (except at the exact center), and the path sequences will take into account the fact that some layers are above the detector.
This class inherits from TObject and can be saved in ROOT files.
Definition at line 27 of file EarthModelBase.h.
|
protectedvirtual |
Add a path segment to the sequence.
For a given EarthBin, adds a path of a given length in that material
length | - The length of the path segment in km |
density | - The density along the path segment |
zoa | - Z/A along the path segment |
index | - Index for the matter along the path segment |
Definition at line 65 of file EarthModelBase.cxx.
References fNuPath.
Referenced by OscProb::EarthModelBinned::AddPath(), and OscProb::PremModel::AddPath().
|
protected |
|
pure virtual |
Construct the neutrino path through the Earth having zenith angle defined by cosT and azimuthal angle phi.
Not implemented in base class. Fill the path sequence in a vector (phi in degrees)
Implemented in OscProb::EarthModelBinned, and OscProb::PremModel.
|
virtual |
Get the cosTheta for a given total baseline.
Given a baseline, find the direction of the neutrino. This could be useful for experiments with fixed baselines for example.
The baseline must be within the range of possible values in this earth model. Will return vertical neutrinos otherwise.
L | - The total baseline of the neutrino |
Definition at line 99 of file EarthModelBase.cxx.
References fDetRadius, and fRadiusMax.
|
virtual |
Merge similar paths to reduce number of steps
This method will merge consecutive paths and take their averages until it finds a large enough gap to start a new merged path.
The merged paths will be returned, and the original detailed path will not be changed and will stay stored as an attribute.
prec | - The precision to merge paths in g/cm^3 |
Definition at line 121 of file EarthModelBase.cxx.
References OscProb::AvgPath(), OscProb::NuPath::density, fNuPath, fRemoveSmallPaths, OscProb::MergePaths(), and OscProb::NuPath::zoa.
|
virtual |
Get the current neutrino path sequence
Get the current neutrino path sequence
The path needs to be filled for a given cosTheta before calling this function.
Definition at line 52 of file EarthModelBase.cxx.
References fNuPath.
|
virtual |
Get the total baseline for a given cosTheta.
cosT | - The cosine of the neutrino direction |
Definition at line 77 of file EarthModelBase.cxx.
References fDetRadius, and fRadiusMax.
|
protectedvirtual |
Set the coordinates of the detector (rad = radius in km, lat/lon in deg)
Set the coordinates of the detector: radius in km, latitude in degrees, longitude in degrees
rad | - The distance from the detector to the Earth's center in km |
lat | - The latitude of the detector in deg N (between -90 and 90) |
lon | - The longitude of the detector in deg E (between 0 and 360) |
Definition at line 25 of file EarthModelBase.cxx.
References fDetLat, fDetLon, and fDetRadius.
Referenced by OscProb::EarthModelBinned::SetDetPos(), and OscProb::PremModel::SetDetPos().
|
pure virtual |
Set the coordinates of the detector: radius in km, latitude in degrees, longitude in degrees
Not implemented in base class. Set the detector position (rad = radius in km, lat/lon in deg)
Implemented in OscProb::EarthModelBinned, and OscProb::PremModel.
|
virtual |
Set the boolean to tag whether to remove small paths when merging Small is defined as <1% of the total baseline
rp | - Boolean value to set |
Definition at line 188 of file EarthModelBase.cxx.
References fRemoveSmallPaths.
Referenced by OscProb::EarthModelBinned::EarthModelBinned(), and OscProb::PremModel::PremModel().
|
protected |
Definition at line 78 of file EarthModelBase.h.
Referenced by OscProb::EarthModelBinned::FillPath(), SetDetectorCoordinates(), and OscProb::EarthModelBinned::SetDetPos().
|
protected |
Definition at line 79 of file EarthModelBase.h.
Referenced by OscProb::EarthModelBinned::FillPath(), SetDetectorCoordinates(), and OscProb::EarthModelBinned::SetDetPos().
|
protected |
Definition at line 77 of file EarthModelBase.h.
Referenced by OscProb::PremModel::AddDetLayer(), OscProb::EarthModelBinned::FillPath(), OscProb::PremModel::FillPath(), GetCosT(), GetTotalL(), SetDetectorCoordinates(), and OscProb::EarthModelBinned::SetDetPos().
|
protected |
Definition at line 74 of file EarthModelBase.h.
Referenced by AddPathSegment(), OscProb::EarthModelBinned::FillPath(), OscProb::PremModel::FillPath(), GetMergedPaths(), and GetNuPath().
|
protected |
Definition at line 76 of file EarthModelBase.h.
Referenced by OscProb::EarthModelBinned::FillPath(), GetCosT(), GetTotalL(), OscProb::EarthModelBinned::LoadModel(), OscProb::PremModel::LoadModel(), and OscProb::PremModel::SetTopLayerSize().
|
protected |
Definition at line 81 of file EarthModelBase.h.
Referenced by GetMergedPaths(), and SetRemoveSmallPaths().