Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Acclaim::InterferometricMap Class Reference

Public Member Functions

 InterferometricMap ()
 
 InterferometricMap (Int_t peakInd, Int_t phiSector, Double_t centrePhi, Double_t phiRange, Double_t centreTheta, Double_t thetaRange)
 Coarse map constructor (also default constructor for ROOT) More...
 
virtual ~InterferometricMap ()
 
void Fill (AnitaPol::AnitaPol_t pol, CrossCorrelator *cc, InterferometryCache *dtCache)
 
void findPeakValues (Int_t numPeaks, std::vector< Double_t > &peakValues, std::vector< Double_t > &phiDegs, std::vector< Double_t > &thetaDegs) const
 
void getPeakInfo (Double_t &peak, Double_t &phiDeg, Double_t &thetaDeg) const
 
void getPeakInfo (Double_t &peak, Double_t &phiDeg, Double_t &thetaDeg, Double_t &reducedChisquare) const
 
virtual void Draw (Option_t *opt)
 
virtual void ExecuteEvent (int event, int x, int y)
 
void addGpsInfo (const Adu5Pat *pat)
 
void addTruthInfo (const TruthAnitaEvent *truth)
 
TPad * makeProjectionCanvas (TPad *pad)
 Project this peak direction to the surface and draw a summary on the pad. More...
 
TPad * makeProjectionCanvas ()
 
Int_t GetNbinsPhi () const
 
Int_t GetNbinsTheta () const
 
const TAxis * GetPhiAxis () const
 
const TAxis * GetThetaAxis () const
 
const TGraphInteractivegetPeakPointGraph ()
 
const TGraphInteractivegetEdgeBoxGraph ()
 
const TGraphInteractivegetSunGraph ()
 
const TGraphInteractivegetTruthGraph ()
 
bool isAZoomMap () const
 
Int_t getPeakPhiSector () const
 
AnitaPol::AnitaPol_t getPol () const
 
virtual void Reset (Option_t *="")
 
void setResolutionEstimateFromWaveformSNR (double snr)
 
- Public Member Functions inherited from Acclaim::GuiParent
 GuiParent ()
 
void deleteChildren ()
 
virtual GuiParentgetParent () const
 
virtual void DrawGroup (Option_t *opt="")
 Must be overloaded by children (TGraphInteractive*) to return pointer to parent
 
size_t addGuiChild (TGraphInteractive *grPtr)
 
size_t addGuiChild (const TGraph &grRef, Option_t *drawOpt)
 
size_t copyChildren (const GuiParent *that)
 
const TGraphInteractivefindChild (const char *name)
 

Static Public Member Functions

static const std::vector< Double_t > & getCoarseBinEdgesTheta ()
 
static const std::vector< Double_t > & getFineBinEdgesTheta ()
 
static const std::vector< Double_t > & getCoarseBinEdgesPhi ()
 
static const std::vector< Double_t > & getFineBinEdgesPhi ()
 
static Double_t getBin0PhiDeg ()
 
static Double_t getPhiSectorCenterPhiDeg (int phi)
 
static Int_t getPhiSectorFromPhiRough (double phiRough)
 

Protected Member Functions

void deletePat ()
 
void fitPeakWithQuadratic (Int_t peakPhiBin, Int_t peakThetaBin)
 Fit a 2D quadratic function to the bins around the peak of the map. Only implemented for zoomed maps. More...
 
void setPeakInfoJustFromPeakBin (Int_t peakPhiBin, Int_t peakThetaBin)
 
TGraph & findOrMakeGraph (TString name)
 
void setNameAndTitle ()
 
void setDefaultName ()
 
void initializeInternals ()
 
void getIndicesOfEdgeBins (const std::vector< double > &binEdges, Double_t lowVal, Double_t highVal, Int_t &lowIndex, Int_t &highIndex)
 
 ClassDef (InterferometricMap, 4)
 Estimate of of the pointing resultion from the waveform SNR. More...
 

Protected Attributes

UsefulAdu5PatfUsefulPat
 
Double_t truthLat
 
Double_t truthLon
 
Double_t truthAlt
 
AnitaPol::AnitaPol_t pol
 
UInt_t eventNumber
 
bool fThetaAxisInSinTheta
 
bool fIsZoomMap
 
int fPeakPhiSector
 
int minThetaBin
 
int minPhiBin
 
int peakIndex
 
Double_t fPeakBinValue
 
Int_t fPeakBinPhi
 The value of the highest bin in the map.
 
Int_t fPeakBinTheta
 The bin in phi (counting from 0) containing the peak value.
 
Double_t fPeakValue
 The bin in theta (counting from 0) containing the peak value.
 
Double_t fPeakPhi
 Value of the peak of quadratic fit to the region around the peak bin.
 
Double_t fPeakTheta
 Location in phi of the peak of the quadratic fit to the region around the peak bin.
 
Double_t fPeakReducedChisquare
 Location in theta of the peak of the quadratic fit to the region around the peak bin.
 
Double_t fPeakSigmaPhi
 Residual of the peak fit... I hope.
 
Double_t fPeakSigmaTheta
 Width of peak in phi.
 
Double_t fPeakCovariance
 Width of peak theta.
 
Double_t fSigmaTheta
 Width of peak theta.
 
Double_t fSigmaPhi
 Estimate of the pointing resolution from the waveform SNR. More...
 

Detailed Description

Definition at line 62 of file InterferometricMap.h.

Inheritance diagram for Acclaim::InterferometricMap:
Inheritance graph
[legend]
Collaboration diagram for Acclaim::InterferometricMap:
Collaboration graph
[legend]

Constructor & Destructor Documentation

Acclaim::InterferometricMap::InterferometricMap ( )

Default constructor, which creates a coarse map

Definition at line 405 of file InterferometricMap.cxx.

Acclaim::InterferometricMap::InterferometricMap ( Int_t  peakInd,
Int_t  phiSector,
Double_t  zoomCentrePhi,
Double_t  phiRange,
Double_t  zoomCentreTheta,
Double_t  thetaRange 
)

Coarse map constructor (also default constructor for ROOT)

Fine map constructor

Parameters
peakIndis the index of the peak in the coarse map (0 is the largest, 1 the second largest, etc.)
phiSectoris the closest phi-sector to the centered zoom peak
zoomCentrePhiis the position on which to centre the map in phi (degrees)
phiRangeis the size of the zoom map in phi (degrees)
zoomCentreThetais the position on which to centre the map in theta (degrees)
thetaRangeis the size of the zoom map in theta (degrees)

Definition at line 368 of file InterferometricMap.cxx.

Acclaim::InterferometricMap::~InterferometricMap ( )
virtual

Default destructor

Definition at line 427 of file InterferometricMap.cxx.

Member Function Documentation

void Acclaim::InterferometricMap::addGpsInfo ( const Adu5Pat pat)

Create an internal UsefulAdu5Pat from the raw gps data

Parameters
patis a pointer to the Adu5Pat

Definition at line 456 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::addTruthInfo ( const TruthAnitaEvent truth)

Create an internal UsefulAdu5Pat from the raw gps data

Parameters
patis a pointer to the Adu5Pat

Definition at line 470 of file InterferometricMap.cxx.

Acclaim::InterferometricMap::ClassDef ( InterferometricMap  ,
 
)
protected

Estimate of of the pointing resultion from the waveform SNR.

See also
setResolutionEstimateFromWaveformSNR(double snr)
void Acclaim::InterferometricMap::deletePat ( )
protected

If we have a copy of the usefulAdu5Pat, then delete it nicely.

Definition at line 441 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::Draw ( Option_t *  opt)
virtual

Draw the interferometric map only (use DrawGroup to also draw TGraphInteractives)

Parameters
opt

Implements Acclaim::GuiParent.

Definition at line 111 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::ExecuteEvent ( int  event,
int  x,
int  y 
)
virtual

Method required by ROOT interative behaviour. Draws a copy of the map when double clicked.

Parameters
eventis the interactive event
xis the mouse position in x
yis the mouse position in y

Definition at line 131 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::Fill ( AnitaPol::AnitaPol_t  thePol,
CrossCorrelator cc,
InterferometryCache dtCache 
)

Workhorse function to turn cross-correlations into an interferometric map.

Parameters
thePolis the polarisation of the map to make
ccpoints to the cross-correlator which contains the cross-correlations
dtCacheis a pointer to the object containing the cached set of deltaTs.

Definition at line 492 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::fitPeakWithQuadratic ( Int_t  peakPhiBin,
Int_t  peakThetaBin 
)
protected

Fit a 2D quadratic function to the bins around the peak of the map. Only implemented for zoomed maps.

Parameters
peakPhiBinis the phi bin on which to centre the 2D quadratic
peakThetaBinis the theta bin on which to centre the 2D quadratic

Definition at line 657 of file InterferometricMap.cxx.

Double_t Acclaim::InterferometricMap::getBin0PhiDeg ( )
static

Get the position of the first bin in phi

Returns
the position of the first bin in phi in degrees

Definition at line 181 of file InterferometricMap.cxx.

const std::vector< Double_t > & Acclaim::InterferometricMap::getCoarseBinEdgesPhi ( )
static

Lazily populate the bin edges in phi for the coarse map.

Returns
the coarse map bin edges in phi.

Definition at line 260 of file InterferometricMap.cxx.

const std::vector< Double_t > & Acclaim::InterferometricMap::getCoarseBinEdgesTheta ( )
static

Lazily populate the bin edges in theta for the coarse map. Currently the bin sizes are scales by sin(theta) where theta=0 is the horizontal

Returns
the coase map bin edges in theta.

Definition at line 198 of file InterferometricMap.cxx.

const std::vector< Double_t > & Acclaim::InterferometricMap::getFineBinEdgesPhi ( )
static

Lazily populate the bin edges in phi for the fine map.

Returns
the fine map bin edges in phi.

Definition at line 284 of file InterferometricMap.cxx.

const std::vector< Double_t > & Acclaim::InterferometricMap::getFineBinEdgesTheta ( )
static

Lazily populate the bin edges in theta for the fine map. Currently the bin sizes are just integer units of theta in degrees.

Returns
the fine map bin edges in theta.

Definition at line 232 of file InterferometricMap.cxx.

Double_t Acclaim::InterferometricMap::getPhiSectorCenterPhiDeg ( int  phi)
static

Get the center of the phi-sectors relative to ADU5 aft-fore. For the purposes of the interferometric map they are exactly PHI_RANGE apart

Parameters
phiis the phi-sector 0-15
Returns
the angle in degrees

Definition at line 153 of file InterferometricMap.cxx.

TPad * Acclaim::InterferometricMap::makeProjectionCanvas ( TPad *  pad)

Project this peak direction to the surface and draw a summary on the pad.

Requires the GPS data to work, i.e. #fUsefulPat is non-NULL.

See also
addGpsInfo(const Adu5Pat* pat)
Parameters
padis the pad to draw on, makes a new TCanvas if null
Returns
pointer to the new canvas if pad is NULL, pad otherwise

Definition at line 931 of file InterferometricMap.cxx.

TPad* Acclaim::InterferometricMap::makeProjectionCanvas ( )
inline

Version of makeProjectionCanvas(TPad* pad) for ROOT context menu

Returns
same as makeProjectionCanvas(TPad* pad)

Definition at line 106 of file InterferometricMap.h.

void Acclaim::InterferometricMap::setDefaultName ( )
protected

Sets the name of the histogram from an incrementing counter. This avoids warnings in ROOT about things histograms having the same name.

Definition at line 312 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::setNameAndTitle ( )
protected

Sets an informative name and title using the member variables.

Definition at line 324 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::setPeakInfoJustFromPeakBin ( Int_t  peakPhiBin,
Int_t  peakThetaBin 
)
protected

Useful if we're not fitting, or something goes wrong with the fit procedure.

Parameters
peakPhiBinis the phi bin on which to centre the 2D quadratic
peakThetaBinis the theta bin on which to centre the 2D quadratic

Definition at line 642 of file InterferometricMap.cxx.

void Acclaim::InterferometricMap::setResolutionEstimateFromWaveformSNR ( double  snr)

Sets values for fSigmaTheta and fSigmaPhi which allows contours to be drawn in makeProjectionCanvas()

Parameters
snris the estimate of the waveform SNR
See also
Acclaim::Clustering::ResolutionModel
makeProjectionCanvas(TPad* pad)

Definition at line 926 of file InterferometricMap.cxx.

Member Data Documentation

Double_t Acclaim::InterferometricMap::fSigmaPhi
protected

Estimate of the pointing resolution from the waveform SNR.

See also
setResolutionEstimateFromWaveformSNR(double snr)

Definition at line 183 of file InterferometricMap.h.


The documentation for this class was generated from the following files: