1 #ifndef INTERFEROMETRY_CACHE_H 2 #define INTERFEROMETRY_CACHE_H 4 #include "AnitaConventions.h" 15 class CrossCorrelator;
59 inline int coarseIndex(
int pol,
int combo,
int phiBin,
int thetaBin){
73 inline double coarseDt(
int pol,
int combo,
int phiBin,
int thetaBin){
double coarseDt(int pol, int combo, int phiBin, int thetaBin)
Look up the delay for the antenna pair / polarization at a given angle.
std::vector< double > fZoomedThetaWaves
Values of theta (radians) for the finely binned InterferometricMap.
int fNCoarseBinsPhi
The number of phi bins in the coarsely binned interferometric map.
std::vector< double > fZoomedCosPartLookup
Partial caching for the of the deltaT calculation.
Does the event reconstruction, and produces a summary of it.
int fUseOffAxisDelay
Should we use the off-axis delay? Set to 1 or 0 as it's used in a multiplication for speed...
std::vector< double > fDtFactors
Multiplier factor for the finely binned InterferometricMap.
std::vector< double > fOffAxisDelaysDivided
Same as fOffAxisDelays, but delays scaled to remove an operation from an inner loop in Interfermetric...
std::vector< double > fZoomedCosThetaWaves
Values of cos(theta) for the finely binned InterferometricMap.
Namespace which wraps everything in the library.
int fNFineBinsPhi
If a finely binned InterferometricMap extended over all 360 in phi (plus edge effects) it would have ...
std::vector< double > fPartBAsZoom
Partial caching for the finely binned InterferometricMap.
std::vector< double > fZoomedPhiWaveLookup
The value of phi in each bin in radians.
void populateCache(CrossCorrelator *cc, const AnalysisReco *reco)
int fNFineBinsTheta
If a finely binned InterferometricMap extended over all theta (plus edge effects) it would have this ...
std::vector< double > fDeltaTs
Delays between antenna pairs for the coarsely binned interferometric map.
void init(CrossCorrelator *cc, const AnalysisReco *reco, bool forceCacheRecalculation=false)
Initialize the cache, only needs to be done once.
int partBAsIndex(int pol, int combo, int fineThetaBin)
Get the index for part of the deltaT calculation for the finely binned InterferometricMap.
int fNumCombos
The number of possible antenna pairs to be correlated.
int zoomedCosPartIndex(int pol, int ant, int finePhiBin)
Get the index for part of the deltaT calculation for the finely binned InterferometricMap.
std::vector< double > fZoomedTanThetaWaves
Values of tan(theta) for the finely binned InterferometricMap.
int coarseIndex(int pol, int combo, int phiBin, int thetaBin)
Get the internal array index for the fDeltaTs vector (for coarsely binned InterferometericMap) ...
void populateFineCache(CrossCorrelator *cc, const AnalysisReco *reco)
int fNCoarseBinsTheta
The number of theta bins in the coarsely binned interferometric map.
A class to take in FiteredAnitaEvents and cross-correlate nearby channels.
Class to cache the deltaTs or parts of their calculation for fast map making.
std::vector< double > fPart21sZoom
Partial caching for the finely binned InterferometricMap.
std::vector< double > fOffAxisDelays
Off-axis delays for use when making fine binned InterferometricMap.
bool fInitialized
Has the cache been initialized?
int part21sIndex(int pol, int combo, int finePhiBin)