AnitaGeomTool – The ANITA Geometry Tool. More...
#include <AnitaGeomTool.h>
Public Member Functions | |
virtual | ~AnitaGeomTool () |
Default destructor. | |
Double_t | getDirectionWrtNorth (Int_t phi, Double_t heading) |
Get direction that a phi sector is pointing wrt north. Also takes heading as a input. More... | |
void | fillAntPositionsFromPrioritizerdConfig () |
Used for evaluating ANITA-3 Prioritizerd performance. More... | |
void | getAntXYZ (Int_t ant, Double_t &x, Double_t &y, Double_t &z, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna cartesian coordinates (from photogrammetry) | |
Double_t | getAntZ (Int_t ant, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna z position | |
Double_t | getAntR (Int_t ant, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna r position | |
Double_t | getAntPhiPosition (Int_t ant, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna phi position | |
Double_t | getAntPhiPositionRelToAftFore (Int_t ant, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna phi position relative to ADU5 AFT-FORE line | |
Double_t | getMeanAntPairPhiRelToAftFore (Int_t firstAnt, Int_t secondAnt, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
The mean of the two antenna phi positions. | |
Int_t | getTopAntNearestPhiWave (Double_t phiWave, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
get antenna closest to given plane wave direction | |
Int_t | getUpperAntNearestPhiWave (Double_t phiWave, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) |
void | getAntFaceXYZ (Int_t ant, Double_t &x, Double_t &y, Double_t &z) |
get location fo antenna face in balloon cartesian coordinates | |
Double_t | getAntFaceZ (Int_t ant) |
get z position for antenna face | |
Double_t | getAntFaceR (Int_t ant) |
get r position for antenna face | |
Double_t | getAntFacePhiPosition (Int_t ant) |
get phi position for antenna face | |
Double_t | getAntFacePhiPositionRelToAftFore (Int_t ant) |
get phi position relative to ADU5 AFT-FORE direction | |
Int_t | getTopAntFaceNearestPhiWave (Double_t phiWave) |
get upper antenna closest to given plane wave direction | |
Int_t | getUpperAntFaceNearestPhiWave (Double_t phiWave) |
get upper antenna closest to given plane wave direction | |
void | updateAnt (Double_t deltaR, Double_t deltaRL, Double_t deltaUD) |
void | printAntPos () |
void | addPhaseCenters () |
void | usePhotogrammetryNumbers (Int_t flag) |
Double_t | getGeoid (Double_t theta) |
Returns the geoid radiuus as a function of theta (the polar angle?) | |
void | getCartesianCoords (Double_t lat, Double_t lon, Double_t alt, Double_t p[3]) |
void | getLatLonAltFromCartesian (Double_t p[3], Double_t &lat, Double_t &lon, Double_t &alt) |
Double_t | getDistanceToCentreOfEarth (Double_t lat) |
Double_t | getLat (Double_t theta) |
Converts polar angle to latitude. | |
Double_t | getLon (Double_t phi) |
Converts a azimuthal angle to longitude. | |
Double_t | getThetaFromLat (Double_t lat) |
Converts latitude to polar angle. | |
Double_t | getPhiFromLon (Double_t lon) |
Converts longitude to azimuthal angle. | |
Double_t | getPhi (Double_t p[3]) |
Converts cartesian coordinates to azimuthal angle. | |
Double_t | getPhi (TVector3 &thePos) |
Converts cartesian coordinates to azimuthal angle. | |
Double_t | getTheta (Double_t p[3]) |
Converts cartesian coordinates to polar angle. | |
Double_t | getTheta (TVector3 &thePos) |
Converts cartesian coordinates to polar angle. | |
void | getLonLat (Double_t p[3], Double_t &lon, Double_t &lat) |
Converts cartesian coordinates to latitude and longitude. | |
void | getLonLat (TVector3 &thePos, Double_t &lon, Double_t &lat) |
Converts cartesian coordinates to latitude and longitude. | |
Static Public Member Functions | |
static AnitaGeomTool * | Instance (int anita_version=0) |
Instance generator. If version_number == 0, uses AnitaVersion::get();. More... | |
static AnitaRing::AnitaRing_t | getRingFromAnt (Int_t ant) |
Get ring form antenna number (0-39) | |
static void | getSurfChanAntFromRingPhiPol (AnitaRing::AnitaRing_t ring, Int_t phi, AnitaPol::AnitaPol_t pol, Int_t &surf, Int_t &chan, Int_t &ant) |
Convert ring-phi-pol to surf-chan-ant. | |
static void | getRingAntPolPhiFromSurfChan (Int_t surf, Int_t chan, AnitaRing::AnitaRing_t &ring, Int_t &ant, AnitaPol::AnitaPol_t &pol, Int_t &phi) |
Convert surf-chan to ring-ant-pol-phi. | |
static Int_t | getChanIndex (Int_t surf, Int_t chan) |
Surf + channel to channel index. | |
static Int_t | getChanIndexFromRingPhiPol (AnitaRing::AnitaRing_t ring, Int_t phi, AnitaPol::AnitaPol_t pol) |
Convert ring-phi-pol to logical index. | |
static Int_t | getChanIndexFromAntPol (Int_t ant, AnitaPol::AnitaPol_t pol) |
Convert ant-pol to logical index. | |
static Int_t | getSurfFromAnt (Int_t ant) |
static Int_t | getChanFromAntPol (Int_t ant, AnitaPol::AnitaPol_t pol) |
static Int_t | getSurfChanFromChanIndex (Int_t chanIndex, Int_t &surf, Int_t &chan) |
Convert logical index to surf and channel. | |
static Int_t | getPhiRingPolFromSurfChanTrigger (Int_t surf, Int_t chan, Int_t &phi, AnitaRing::AnitaRing_t &ring, AnitaTrigPol::AnitaTrigPol_t &pol) |
Converts the SURF and channel numbers to phi-sector, ring and polarization. | |
static Int_t | getSurfChanTriggerFromPhiRingPol (Int_t phi, AnitaRing::AnitaRing_t ring, AnitaTrigPol::AnitaTrigPol_t pol, Int_t &surf, Int_t &chan) |
Converts the SURF and L1 trigger channel to phi-sector and polarization. | |
static Int_t | getPhiRingFromSurfL1Chan (Int_t surf, Int_t l1Chan, Int_t &phi, AnitaRing::AnitaRing_t &ring) |
Converts the SURF and L1 trigger channel to phi-sector and polarization. | |
static Int_t | getPhiPolFromSurfL1Chan (Int_t surf, Int_t l1Chan, Int_t &phi, AnitaPol::AnitaPol_t &pol) |
Converts the SURF and L1 trigger channel to phi-sector and polarization. | |
static Int_t | getSurfL1TriggerChanFromPhiRing (Int_t phi, AnitaRing::AnitaRing_t ring, Int_t &surf, Int_t &l1Chan) |
Convert phi-sector and polarization from phi-sector and polarization. | |
static Int_t | getSurfL1TriggerChanFromPhiPol (Int_t phi, AnitaPol::AnitaPol_t ring, Int_t &surf, Int_t &l1Chan) |
static Int_t | getSurfL2TriggerChanFromPhi (Int_t phi, Int_t &surf, Int_t &l2Chan) |
Converts phi-sector to surf and l2 trigger channel. | |
static Int_t | getAntPolFromSurfChan (Int_t surf, Int_t chan, Int_t &ant, AnitaPol::AnitaPol_t &pol) |
Convert surf-chan to ant-pol. | |
static Int_t | getAzimuthPartner (Int_t rx) |
output the antenna that points to the same place in phi as the input antenna | |
static void | getThetaPartners (Int_t rx, int &rxleft, int &rxright) |
output the antennas that are in neighbouring phi sectors (not the neighbouring antennas) | |
static void | getNeighbors (Int_t rx, int &rxleft, int &rxright) |
output the neighboring antennas | |
static Int_t | getPhiSector (Int_t rx) |
phi sector of this antenna. rx runs from 0 to 31. | |
static Int_t | getLayer (Int_t irx) |
get layer given antenna number | |
static Int_t | getPhiFromAnt (Int_t ant) |
get phi from ant | |
static Int_t | getAntFromPhiRing (Int_t phi, AnitaRing::AnitaRing_t ring) |
get antenna number from phi and ring | |
static Int_t | getAntOrientation (Int_t ant) |
Some of the antennas have their orientation reversed relative to nominal. The effect of this is to switch the sign the of the signal (as up is down and left is right). Returns 1 for nominal orientation and -1 for flipped. | |
static Double_t | getPhiDiff (Double_t firstPhi, Double_t secondPhi) |
Returns the angular difference between two phi values (in radians) | |
AnitaGeomTool – The ANITA Geometry Tool.
This is a utility class of useful thingies that can be used for some of the standard conversions that are needed in ANITA analysis. Some of the functions are static and can be called via AnitaGeomTool::functionName(), others require the user to get an instance of the AnitaGeomTool first using AnitaGeomTool *myGeomTool = AnitaGeomTool::Instance()
Definition at line 48 of file AnitaGeomTool.h.
void AnitaGeomTool::fillAntPositionsFromPrioritizerdConfig | ( | ) |
Used for evaluating ANITA-3 Prioritizerd performance.
Use the geometrical information from he ANITA-3 Prioritizerd, from feed position numbers.
Definition at line 214 of file AnitaGeomTool.cxx.
Double_t AnitaGeomTool::getDirectionWrtNorth | ( | Int_t | phi, |
Double_t | heading | ||
) |
Get direction that a phi sector is pointing wrt north. Also takes heading as a input.
< Heading increases clockwise but phi-sector numbers increase anticlockwise, hence -ve sign.
Definition at line 765 of file AnitaGeomTool.cxx.
|
static |
Instance generator. If version_number == 0, uses AnitaVersion::get();.
Generates an instance of AnitaGeomTool, required for non-static functions.
Definition at line 431 of file AnitaGeomTool.cxx.