AnitaAveragePowerSpectrum.h
1 /* -*- C++ -*-.***************************************************************************************************
2  Author: Ben Strutt
3  Email: b.strutt.12@ucl.ac.uk
4 
5  Description:
6  A holder for the whole payload's worth of AveragePowerSpectra.
7  Because TTrees have a particularly inelegant interface in ROOT.
8 *************************************************************************************************************** */
9 
10 #ifndef ANITAAVERAGEPOWERSPECTRUM_H
11 #define ANITAAVERAGEPOWERSPECTRUM_H
12 
13 #include "AveragePowerSpectrum.h"
14 #include "RootTools.h"
15 #include "AnitaConventions.h"
16 #include "TMultiGraph.h"
17 #include "TStyle.h"
18 
19 
27 class AnitaAveragePowerSpectrum : public TNamed {
28 
29 public:
30 
31  // Copied from AveragePowerSpectrum.h
33  AnitaAveragePowerSpectrum(TString name, TString title);
35 
36  AveragePowerSpectrum* get(AnitaPol::AnitaPol_t pol, Int_t ant);
37  void add(AnitaPol::AnitaPol_t pol, Int_t ant, TGraph* gr);
38  void reset();
39 
40  // Produce summary information
41  TMultiGraph* drawSpectralSummary(AnitaPol::AnitaPol_t pol, AnitaRing::AnitaRing_t ring);
42 
43 private:
44  AveragePowerSpectrum* avePowSpecs[AnitaPol::kNotAPol][NUM_SEAVEYS];
45  void initAllAvePowSpecs();
46  void deleteAllAvePowSpecs();
47 
48  ClassDef(AnitaAveragePowerSpectrum, 9);
49 };
50 
51 
52 
53 
54 
55 #endif
56 
57 
58 
59 
60 
61 
62 
63 
64 
void add(AnitaPol::AnitaPol_t pol, Int_t ant, TGraph *gr)
Add a waveform TGraph to an internal AveragePowerSpectrum.
void reset()
Deletes and reinitializes all internal AveragePowerSpectrums.
TMultiGraph * drawSpectralSummary(AnitaPol::AnitaPol_t pol, AnitaRing::AnitaRing_t ring)
Get a ring of TGraphs of a single polarization as a TMultiGraph.
Essentially a wrapper around a whole payload of AveragePowerSpectrum.
Takes in waveforms and averages averages their power spectra.