Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
FilteredAnitaEvent Class Reference

This class is intended to store all the necessary data about an ANITA event for filtering and analysis. It stores the raw and filtered waveforms as well as auxilliary information. More...

#include <FilteredAnitaEvent.h>

Public Member Functions

 FilteredAnitaEvent (const UsefulAnitaEvent *event, FilterStrategy *strategy, const Adu5Pat *pat, const RawAnitaHeader *header, bool keep_all_stages=false)
 
 FilteredAnitaEvent (const FilteredAnitaEvent *fEv, FilterStrategy *strategy, bool keep_all_stages=false)
 
 FilteredAnitaEvent ()
 
virtual ~FilteredAnitaEvent ()
 
const AnalysisWaveformgetRawGraph (UInt_t i) const
 
const AnalysisWaveformgetRawGraph (UInt_t ant, AnitaPol::AnitaPol_t pol) const
 
const AnalysisWaveformgetRawGraph (UInt_t phi, AnitaRing::AnitaRing_t ring, AnitaPol::AnitaPol_t pol) const
 
const AnalysisWaveformgetFilteredGraph (UInt_t i) const
 
const AnalysisWaveformgetFilteredGraph (UInt_t ant, AnitaPol::AnitaPol_t pol) const
 
const AnalysisWaveformgetFilteredGraph (UInt_t phi, AnitaRing::AnitaRing_t ring, AnitaPol::AnitaPol_t pol) const
 
const AnalysisWaveformgetFilteredGraphAtStage (UInt_t ant, AnitaPol::AnitaPol_t pol, UInt_t stage) const
 
const UsefulAnitaEventgetUsefulAnitaEvent () const
 
const UsefulAdu5PatgetGPS () const
 
const RawAnitaHeadergetHeader () const
 
const FilterStrategygetStrategy () const
 
void plotSummary (TCanvas *chpol=0, TCanvas *cvpol=0) const
 
int checkSaturation (ULong64_t *save_hsat=0, ULong64_t *save_vsat=0, double threshold=1500) const
 
int checkStepFunction (Int_t lab=1, AnitaRing::AnitaRing_t ring=AnitaRing::kMiddleRing, Int_t phiSector=8, AnitaPol::AnitaPol_t pol=AnitaPol::kVertical) const
 
int checkSurfForGlitch (Int_t surf=0, Int_t lab=-1, double glitchThreshold=800) const
 
void getAverageSpectrum (TGraph *target, AnitaPol::AnitaPol_t pol=AnitaPol::kNotAPol) const
 
void getMedianSpectrum (TGraph *target, AnitaPol::AnitaPol_t pol=AnitaPol::kNotAPol, double pctile=0.5) const
 
double getAveragePower (AnitaPol::AnitaPol_t pol=AnitaPol::kNotAPol, AnitaRing::AnitaRing_t ring=AnitaRing::kNotARing, bool filtered=false) const
 
double getMedianPower (AnitaPol::AnitaPol_t pol=AnitaPol::kNotAPol, AnitaRing::AnitaRing_t ring=AnitaRing::kNotARing, bool filtered=false) const
 
void getMinMaxRatio (AnitaPol::AnitaPol_t pol, double *max_ratio, double *min_ratio, int *max_sector, int *min_sector, AnitaRing::AnitaRing_t ring1=AnitaRing::kBottomRing, AnitaRing::AnitaRing_t ring2=AnitaRing::kTopRing, int nth=0, int *n_greater=0) const
 
int getAnitaVersion () const
 

Protected Member Functions

void saveStage (int nreserve)
 

Protected Attributes

AnalysisWaveformrawGraphs [NUM_SEAVEYS *AnitaPol::kNotAPol]
 
AnalysisWaveformrawGraphsByAntPol [AnitaPol::kNotAPol][NUM_SEAVEYS]
 
AnalysisWaveformfilteredGraphs [NUM_SEAVEYS *AnitaPol::kNotAPol]
 
AnalysisWaveformfilteredGraphsByAntPol [AnitaPol::kNotAPol][NUM_SEAVEYS]
 
const UsefulAnitaEventuseful
 
const FilterStrategystrategy
 
UsefulAdu5Pat pat
 
const RawAnitaHeaderheader
 
int anitaVersion
 
bool keep_all_stages
 
std::vector< AnalysisWaveform * > all_stages [AnitaPol::kNotAPol][NUM_SEAVEYS]
 

Friends

class FilterOperation
 
class FilterStrategy
 

Detailed Description

This class is intended to store all the necessary data about an ANITA event for filtering and analysis. It stores the raw and filtered waveforms as well as auxilliary information.

Definition at line 23 of file FilteredAnitaEvent.h.

Inheritance diagram for FilteredAnitaEvent:
Inheritance graph
[legend]
Collaboration diagram for FilteredAnitaEvent:
Collaboration graph
[legend]

Constructor & Destructor Documentation

FilteredAnitaEvent::FilteredAnitaEvent ( const UsefulAnitaEvent event,
FilterStrategy strategy,
const Adu5Pat pat,
const RawAnitaHeader header,
bool  keep_all_stages = false 
)

Create a FilteredAnitaEvent from a useful event, a filter strategy, GPS info and the event header. If keep_all_stages is true, then all stages of filtering are kept. Note that filtering occurs during construction, not later!

Definition at line 99 of file FilteredAnitaEvent.cc.

FilteredAnitaEvent::FilteredAnitaEvent ( const FilteredAnitaEvent fEv,
FilterStrategy strategy,
bool  keep_all_stages = false 
)

Created a FilteredAnitaEvent from another FilteredAnitaEvent. !THIS IS NOT A COPY CONSTRUCTOR! The output of fEv will be used as an input to create this filtered event. Useful for doing things like deconvolving the output of another filter. If keep_all_stages is true, then all stages of filtering are kept. Note that filtering occurs during construction, not later!

Definition at line 28 of file FilteredAnitaEvent.cc.

FilteredAnitaEvent::FilteredAnitaEvent ( )

Empty FilteredAnitaEvent. Not particularly useful

Definition at line 18 of file FilteredAnitaEvent.cc.

FilteredAnitaEvent::~FilteredAnitaEvent ( )
virtual

Destructor

Definition at line 190 of file FilteredAnitaEvent.cc.

Member Function Documentation

void FilteredAnitaEvent::getAverageSpectrum ( TGraph *  target,
AnitaPol::AnitaPol_t  pol = AnitaPol::kNotAPol 
) const

Various calculations. Don't necessarily have to be in this class.

Definition at line 295 of file FilteredAnitaEvent.cc.

const AnalysisWaveform* FilteredAnitaEvent::getFilteredGraph ( UInt_t  i) const
inline

Accessor for filtered waveform based on index. Mostly useful if you want to iterate over everything

Definition at line 59 of file FilteredAnitaEvent.h.

const AnalysisWaveform* FilteredAnitaEvent::getFilteredGraph ( UInt_t  ant,
AnitaPol::AnitaPol_t  pol 
) const
inline

Accessor for filtered waveform based on antenna number and polarization.

Definition at line 62 of file FilteredAnitaEvent.h.

const AnalysisWaveform * FilteredAnitaEvent::getFilteredGraph ( UInt_t  phi,
AnitaRing::AnitaRing_t  ring,
AnitaPol::AnitaPol_t  pol 
) const

Accessor for raw waveform based on phi, ring, and pol

Definition at line 493 of file FilteredAnitaEvent.cc.

const UsefulAdu5Pat* FilteredAnitaEvent::getGPS ( ) const
inline

Return the Useful GPS info

Definition at line 74 of file FilteredAnitaEvent.h.

const RawAnitaHeader* FilteredAnitaEvent::getHeader ( ) const
inline

Return the header

Definition at line 77 of file FilteredAnitaEvent.h.

const AnalysisWaveform* FilteredAnitaEvent::getRawGraph ( UInt_t  i) const
inline

Accessor for raw waveform based on index. Mostly useful if you want to iterate over everything

Definition at line 50 of file FilteredAnitaEvent.h.

const AnalysisWaveform* FilteredAnitaEvent::getRawGraph ( UInt_t  ant,
AnitaPol::AnitaPol_t  pol 
) const
inline

Accessor for raw waveform based on antenna number and polarization.

Definition at line 53 of file FilteredAnitaEvent.h.

const AnalysisWaveform * FilteredAnitaEvent::getRawGraph ( UInt_t  phi,
AnitaRing::AnitaRing_t  ring,
AnitaPol::AnitaPol_t  pol 
) const

Accessor for raw waveform based on phi, ring, and pol

Definition at line 481 of file FilteredAnitaEvent.cc.

const FilterStrategy* FilteredAnitaEvent::getStrategy ( ) const
inline

Return the strategy

Definition at line 80 of file FilteredAnitaEvent.h.

const UsefulAnitaEvent* FilteredAnitaEvent::getUsefulAnitaEvent ( ) const
inline

Return the UsefulAnitaEvent this event was constructed with.

Definition at line 72 of file FilteredAnitaEvent.h.


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