MagicDisplay.h
1 
13 #ifndef MAGICDISPLAY_H
14 #define MAGICDISPLAY_H
15 
16 //Includes
17 #include "TChain.h"
18 #include "MagicDisplayConventions.h"
19 #include "AnitaConventions.h"
20 #include "CalibratedAnitaEvent.h"
21 #include "AnalysisReco.h"
22 #include "Analyzer.h"
23 #include "FilterStrategy.h"
24 #include "FourierBuffer.h"
25 
26 #include "AnitaDataset.h"
27 #include "TGFrame.h"
28 
29 // #include <RQ_OBJECT.h>
30 #include "TRootEmbeddedCanvas.h"
31 
32 
33 class TCanvas;
34 
35 class TPad;
36 class RawAnitaHeader;
37 class PrettyAnitaHk;
38 class RawAnitaEvent;
39 //class CalibratedAnitaEvent;
40 class UsefulAnitaEvent;
41 class Adu5Pat;
42 
43 class TurfRate;
44 class SummedTurfRate;
45 class AveragedSurfHk;
46 class SurfHk;
47 
48 class Adu5Pat;
49 class Adu5Sat;
50 class Adu5Vtg;
51 class G12Pos;
52 class G12Sat;
53 class GpsGga;
54 
55 class TButton;
56 class TTreeIndex;
57 class TFile;
58 class TEventList;
59 
60 
61 
62 
63 class MagicControlPanel;
64 class FilteringPanel;
66 
68 
75 class MagicDisplay : public TGMainFrame
76 {
77 
78  friend class MagicControlPanel;
79  friend class FilteringPanel;
80  friend class AnitaEmbeddedCanvas;
81 
82  public:
83 
85 
90  MagicDisplay(const char *baseDir, int run, WaveCalType::WaveCalType_t calType=WaveCalType::kDefault, AnitaDataset::BlindingStrategy blinding=AnitaDataset::kDefault);
91  /*
92  \param run The run number to start with
93  \param calType The calibration option desired (see <a HREF="/uhen/anita/eventReader/">the event reader documentation for the different available calibration options</A>)
94  */
95  MagicDisplay(int run, AnitaDataset::DataDirectory datadir = AnitaDataset::ANITA_ROOT_DATA, WaveCalType::WaveCalType_t calType=WaveCalType::kDefault, AnitaDataset::BlindingStrategy blinding=AnitaDataset::kDefault);
99  MagicDisplay(const char* playlist, AnitaDataset::DataDirectory datadir = AnitaDataset::ANITA_ROOT_DATA, WaveCalType::WaveCalType_t calType=WaveCalType::kDefault, AnitaDataset::BlindingStrategy blinding=AnitaDataset::kDefault);
100  MagicDisplay();
101  ~MagicDisplay();
102 
103  //Control Panel Functions
104  void startControlPanel();
105  void startFilteringPanel();
106 
108  {return fCurrentRun;}
109  UInt_t getCurrentEvent();
110 
111  void startEventPlaying();
112  void startEventPlayingReverse();
113  void stopEventPlaying();
114 
115  void closeCurrentRun();
116 
117  // int loadEventTree(); ///< Loads the event tree corresponding to the current run number <i>fCurrentRun</i>
118  int loadDataset();
119  void startEventDisplay();
120 
126  int displayThisEvent(UInt_t eventNumber, Int_t run=-1);
127  int displayNextEvent(int nskip = 0);
128  int displayFirstEvent();
129  int displayLastEvent();
130  int displayPreviousEvent(int nskip =0);
131  void refreshEventDisplay(bool forceRedo=false);
132  int getEventEntry();
133  void drawEventButtons();
134 
136 
140  void swapWaveformButtonFunctionsAndTitles(MagicDisplayCanvasLayoutOption::MagicDisplayCanvasLayoutOption_t option);
142 
146  // void setInterferometryTypeFlags(AnalysisReco::mapMode_t mapMode, AnalysisReco::zoomMode_t zoomMode);
147 
148  // For UCorrelator integration
149  void setFilterStrategy(FilterStrategy * filter_strategy);
150  void setAnalysisConfig(const UCorrelator::AnalysisConfig * config);
151 
152 
153  void toggleTimeEventOrdering();
154  void applyCut(const char *cutString);
155 
156  int loadTurfTree();
157  void startTurfDisplay();
158  int displayNextTurf();
159  int displayPreviousTurf();
160  void refreshTurfDisplay();
161  int getTurfEntry();
162  void drawTurfButtons();
163  void toggleTurfYScale();
164 
165  int loadSurfTree();
166  void startSurfDisplay();
167  int displayNextSurf();
168  int displayPreviousSurf();
169  void refreshSurfDisplay();
170  int getSurfEntry();
171  void drawSurfButtons();
173  void toggleSurfRfPowerView(Int_t kelvinView);
174  void toggleSurfLogView();
175  void startSurfHkPlaying();
176  void stopSurfHkPlaying();
177 
178  int loadAvgSurfTree();
179  void startAvgSurfDisplay();
180  int displayNextAvgSurf();
181  int displayPreviousAvgSurf();
182  void refreshAvgSurfDisplay();
183  int getAvgSurfEntry();
184  void drawAvgSurfButtons();
185  void toggleAvgSurfRfPowerView(Int_t kelvinView);
186  void toggleAvgSurfLogView();
188  void startAvgSurfHkPlaying();
189  void stopAvgSurfHkPlaying();
190 
191 
192  int loadSumTurfTree();
193  void startSumTurfDisplay();
194  int displayNextSumTurf();
196  void refreshSumTurfDisplay();
197  int getSumTurfEntry();
198  void drawSumTurfButtons();
199  void toggleSumTurfYScale();
200 
201  int loadGpsTrees();
202  void startGpsDisplay();
203  int displayNextGps();
204  int displayPreviousGps();
205  void refreshGpsDisplay();
206  int getGpsEntry();
207  void drawGpsButtons();
208  void startGpsPlaying();
209  void stopGpsPlaying();
210  void setGpsView(MagicDisplayGpsDisplay::MagicDisplayGpsDisplay_t theDisplay);
211 
212  void dumpWaveformsForPeter();
213 
214 
216 
220  static MagicDisplay* Instance();
221 
222  AnitaDataset* fDataset;
223  // TFile *fHeadFile; ///< A pointer to the current header file.
224  // TFile *fEventFile; ///< A pointer to the current event file.
225  // TFile *fTurfRateFile; ///< A pointer to the current TURF rate file.
226  // TFile *fSumTurfRateFile; ///< A pointer to the current summed TURF rate file.
227  // TFile *fSurfHkFile; ///< A pointer to the current SURF hk file.
228  // TFile *fAvgSurfHkFile; ///< A pointer to the current averaged SURF hk file.
229  // TFile *fGpsFile; ///<A pointer to the current GPS file.
230 
231  // //Here are the data managers
232  // TTree *fHeadTree; ///< A pointer to the current header tree.
233  // TTree *fEventTree; ///< A pointer to the current event tree.
234  // TTree *fPrettyHkTree; ///< A pointer to the current pretty hk tree.
235  // TTree *fTurfRateTree; ///< A pointer to the current TURF rate tree.
236  // TTree *fSurfHkTree; ///< A pointer to the current SURF hk tree.
237  // TTree *fSumTurfRateTree; ///< A pointer to the current summed TURF rate tree.
238  // TTree *fAvgSurfHkTree;///< A pointer to the current averaged SURF hk tree.
239  // TTree *fG12PosTree;///< A pointer to the current G12 position tree.
240  // TTree *fG12SatTree;///< A pointer to the current G12 satellite tree.
241  // TTree *fAdu5aPatTree; ///< A pointer to the current ADU5 A position tree.
242  // TTree *fAdu5aSatTree; ///< A pointer to the current ADU5 A satellite tree.
243  // TTree *fAdu5aVtgTree; ///< A pointer to the current ADU5 A velocity tree.
244  // TTree *fAdu5bPatTree; ///< A pointer to the current ADU5 B position tree.
245  // TTree *fAdu5bSatTree; ///< A pointer to the current ADU5 B satellite tree.
246  // TTree *fAdu5bVtgTree; ///< A pointer to the current ADU5 B velocity tree.
247 
248  //And some useful info to keep track of what is where
251  Long64_t fEventEntry;
252  Long64_t fPrettyHkEntry;
253  Long64_t fTurfRateEntry;
254  Long64_t fSurfHkEntry;
255  Long64_t fSumTurfRateEntry;
256  Long64_t fAvgSurfHkEntry;
257  Long64_t fG12PosEntry;
258  Long64_t fG12SatEntry;
259  Long64_t fAdu5aPatEntry;
260  Long64_t fAdu5aSatEntry;
261  Long64_t fAdu5aVtgEntry;
262  Long64_t fAdu5bPatEntry;
263  Long64_t fAdu5bSatEntry;
264  Long64_t fAdu5bVtgEntry;
265 
266  //And something to help with the indexing
267  TTreeIndex *fHeadIndex;
268  TTreeIndex *fAdu5aSatIndex;
269  TTreeIndex *fAdu5bSatIndex;
270 
271 
273  UInt_t fCurrentRun;
274  Char_t fCurrentBaseDir[180];
275 
276 
277  Acclaim::AnalysisReco& getAnalysisReco();
278 
279 
280  UCorrelator::Analyzer * getUCorr() { return fUCorr; }
281  FilterStrategy * getStrategy() { return fStrategy; }
282  const FilteredAnitaEvent * getFilteredEvent() { return fFilteredEventPtr; }
283  // FilterStrategy * getNoFilterStrategy();
284  // FilterStrategy * getDefaultFilterStrategy();
285 
286  std::map<TString, FilterStrategy*>& getFilterStrats(){return filterStrats;}
287 
288  const TPad * getMainPad() const { return fMagicMainPad; }
289 
290  protected:
292  // protect against multiple instances
293 
294  private:
295  virtual Bool_t HandleSelection(Event_t* event);
296  virtual Bool_t HandleKey(Event_t* event);
297  int doKeyboardShortcut(Event_t* event);
298  void prepareKeyboardShortcuts();
299 
300  void loadPlaylist(const char* playlist);
301  std::vector<std::vector<long> > fPlaylist;
302  int fPlaylistEntry;
303 
304  UInt_t getPlaylistRun() { return fPlaylist[fPlaylistEntry][0]; }
305  Long64_t getPlaylistEvent() { return fPlaylist[fPlaylistEntry][1]; }
306 
307  void zeroPointers();
310 
311  // TGMainFrame *fMainFrame; ///< The magic display frame, we need this to do fancy connecting
312  AnitaEmbeddedCanvas* fMagicEmbedded;
313  // TRootEmbeddedCanvas *fMagicEmbedded;
314  TCanvas *fMagicCanvas;
315  TPad *fMagicMainPad;
316  TPad *fMagicEventInfoPad;
317 
318  TCanvas *fTurfCanvas;
319  TPad *fTurfMainPad;
320  TPad *fTurfInfoPad;
321 
322  TCanvas *fSumTurfCanvas;
323  TPad *fSumTurfMainPad;
324  TPad *fSumTurfInfoPad;
325 
326  TCanvas *fSurfCanvas;
327  TPad *fSurfMainPad;
328  TPad *fSurfInfoPad;
329 
330  TCanvas *fAvgSurfCanvas;
331  TPad *fAvgSurfMainPad;
332  TPad *fAvgSurfInfoPad;
333 
334  TCanvas *fGpsCanvas;
335  TPad *fGpsMainPad;
336  TPad *fGpsInfoPad;
337 
338  RawAnitaHeader *fHeadPtr;
339  PrettyAnitaHk *fHkPtr;
340  RawAnitaEvent *fRawEventPtr;
341  CalibratedAnitaEvent *fCalEventPtr;
342  FilteredAnitaEvent* fFilteredEventPtr;
343  UInt_t fLastFilteredEventNumber;
344  UsefulAnitaEvent *fUsefulEventPtr;
345  TurfRate *fTurfPtr;
346  SurfHk *fSurfPtr;
347  SummedTurfRate *fSumTurfPtr;
348  AveragedSurfHk *fAvgSurfPtr;
349 
350  Adu5Pat* fPatPtr;
351 
352 
353 
354  G12Pos *fG12PosPtr;
355  G12Sat *fG12SatPtr;
356  Adu5Pat *fAdu5APatPtr;
357  Adu5Sat *fAdu5ASatPtr;
358  Adu5Vtg *fAdu5AVtgPtr;
359  Adu5Pat *fAdu5BPatPtr;
360  Adu5Sat *fAdu5BSatPtr;
361  Adu5Vtg *fAdu5BVtgPtr;
362 
363  TButton *fVertButton;
364  TButton *fHorizButton;
365  TButton *fBothButton;
366  TButton *fSurfButton;
367  TButton *fPayloadButton;
368  TButton *fInterferometryButton;
369  TButton *fUCorrelatorButton;
370  TButton *butFiltering;
371 
372  TButton *fWaveformButton;
373  TButton *fPowerButton;
374  TButton *fHilbertButton;
375  TButton *fAverageFFTButton;
376  TButton *fTimeEntryButton;
377 
378 
379  TButton *fTurfYScaleButton;
380  TButton *fSurfSurfViewButton;
381  TButton *fSurfPhiViewButton;
382  TButton *fSurfTimeViewButton;
383  TButton *fSurfAdcViewButton;
384  TButton *fSurfKelvinViewButton;
385  TButton *fSurfMeasuredKelvinViewButton;
386  TButton *fSurfLogButton;
387 
388  TButton *fSumTurfYScaleButton;
389  TButton *fAvgSurfSurfViewButton;
390  TButton *fAvgSurfPhiViewButton;
391  TButton *fAvgSurfAdcViewButton;
392  TButton *fAvgSurfKelvinViewButton;
393  TButton *fAvgSurfMeasuredKelvinViewButton;
394  TButton *fAvgSurfLogButton;
395 
396 
397  TButton *fGpsSatViewButton;
398  TButton *fGpsMapViewButton;
399 
400  Int_t fInEventPlayMode;
401  Int_t fEventPlaySleepMs;
402  Int_t fOrderByEventNumber;
403  Int_t fApplyEventCut;
404  TEventList *fCutEventList;
405 
406 
407  Int_t fInSurfPlayMode;
408  Int_t fInAvgSurfPlayMode;
409  Int_t fInGpsPlayMode;
410 
411  WaveCalType::WaveCalType_t fCalType;
412 
413  // AnalysisReco::mapMode_t fInterferometryMapMode;
414  // AnalysisReco::zoomMode_t fInterferometryZoomMode;
415 
416 
417  void initializeFilterStrategies(); // If you want your favourite filter strategy to be available in MagicDisplay... add it here!
418  void clearFilterStrategies(); //destroy the strategies
419  void drawUCorrelatorFilterButtons();
420  void setNextFilter(); // cycle through available filters...
421  UCorrelator::Analyzer * fUCorr;
422  FilterStrategy * fStrategy;
423  std::map<TString, FilterStrategy*> filterStrats;
424 
425  MagicControlPanel* fControlPanel;
426  FilteringPanel* fFilteringPanel;
427  AnitaDataset::DataDirectory fDataDirectory;
428 
429  AnitaDataset::BlindingStrategy fBlindingStrategy;
430 
431  ClassDef(MagicDisplay,0);
432 
433 };
434 
435 
436 // turn off the fucking keyboard stealing...
437 class AnitaEmbeddedCanvas : public TRootEmbeddedCanvas{
438 public:
439  AnitaEmbeddedCanvas(const char *name=0, const TGWindow *p=0, UInt_t w=10, UInt_t h=10, UInt_t options=kSunkenFrame|kDoubleBorder, Pixel_t back=GetDefaultFrameBackground())
440  : TRootEmbeddedCanvas(name, p, w, h, options, back) {;}
441 protected:
442  virtual Bool_t HandleContainerKey (Event_t *ev){
444  return md->HandleKey(ev);
445  }
446 };
447 
448 
449 
450 #endif //MAGICDISPLAY_H
TTreeIndex * fAdu5bSatIndex
Inde for ADU5B satellite fun.
Definition: MagicDisplay.h:269
enum MagicDisplayCanvasLayoutOption::EMagicDisplayCanvasLayoutOption MagicDisplayCanvasLayoutOption_t
Enumeration for canvas layout.
void stopSurfHkPlaying()
Stops SURF Hk Play modes.
void toggleAvgSurfLogView()
Toggles between log and linear.
MagicDisplay()
Default constructor.
void refreshEventDisplay(bool forceRedo=false)
Refresh the event display and redraw the graphs, this is called everytime a new event is displayed...
void startControlPanel()
Starts the (currently highly buggy) control panel.
int displayNextAvgSurf()
Displays the next entry in the averaged SURF hk tree.
void drawGpsButtons()
Draws the buttons on the GPS rate display.
void stopAvgSurfHkPlaying()
Stops Average SURF Hk Play mode.
Long64_t fEventTreeIndexEntry
The current entry in the TTreeIndex.
Definition: MagicDisplay.h:250
void drawTurfButtons()
Draws the buttons on the TURF rate display.
void toggleSurfRfPowerView(Int_t kelvinView)
Toggles betweem adc and Kelvin views.
void startGpsDisplay()
Starts the GPS display window.
void stopGpsPlaying()
Stops GPS Play mode.
enum MagicDisplayFormatOption::EMagicDisplayFormatOption MagicDisplayFormatOption_t
Enumeration for plot style.
void closeCurrentRun()
Closes all currently opened run TFiles, in preparation for changing to a new run. ...
void drawSumTurfButtons()
Draws the buttons on the summed TURF rate display.
void startTurfDisplay()
Starts the TURF Rate display window.
int displayPreviousAvgSurf()
Displays the previous entry in the averaged SURF hk tree.
int displayNextSumTurf()
Displays the next summed TURF rate entry in the tree.
Adu5Pat – The ADU5 Position and Attitude Data.
Definition: Adu5Pat.h:26
Adu5Sat – The ADU5 Satellite Information.
Definition: Adu5Sat.h:23
Long64_t fG12PosEntry
The current G12 position entry;.
Definition: MagicDisplay.h:257
Adu5Vtg – The ADU5 Velocity and Course Information.
Definition: Adu5Vtg.h:21
void setAvgSurfHkDisplay(MagicDisplaySurfHkDisplay::MagicDisplaySurfHkDisplay_t surfDisplay)
Toggles between surf and phi views.
Does the event reconstruction, and produces a summary of it.
Definition: AnalysisReco.h:30
Long64_t fAdu5bVtgEntry
The current ADU5 B velocity entry.
Definition: MagicDisplay.h:264
int loadGpsTrees()
Opens the GPS file for the current run.
int displayPreviousSumTurf()
Displays the previous summed TURF rate entry in the tree.
enum WaveCalType::EWaveCalType WaveCalType_t
The calibration enumeration type.
PrettyAnitaHk – The prettified ANITA Hk.
Definition: PrettyAnitaHk.h:22
int getSumTurfEntry()
Attempts to get the entry corresponding to fSumTurfRateFile.
int displayPreviousEvent(int nskip=0)
Displays the previous event in the file, normally called by pressing the "Previous" button...
TTreeIndex * fAdu5aSatIndex
Index for ADU5 satellite fun.
Definition: MagicDisplay.h:268
G12Pos – The position data from the G12.
Definition: G12Pos.h:23
Char_t fCurrentBaseDir[180]
The base directory for the ROOT files.
Definition: MagicDisplay.h:274
int displayPreviousSurf()
Displays the previous SURF hk entry.
void toggleTimeEventOrdering()
Toggles between time and event ordering.
int displayNextGps()
Displays the next event in the GPS tree.
Long64_t fAdu5bSatEntry
The current ADU5 B satellite entry.
Definition: MagicDisplay.h:263
G12Sat – The satellite data from the G12.
Definition: G12Sat.h:24
int displayNextSurf()
Displays the next SURF hk entry.
void startSurfDisplay()
Starts the SURF Hk display window.
int displayPreviousTurf()
Displays the previous event in the TURF tree.
~MagicDisplay()
Destructor.
Long64_t fAdu5aSatEntry
The current ADU5 A satellite entry.
Definition: MagicDisplay.h:260
A filter strategy defines the sets of filters that are used and provides some introspection abilities...
void startEventPlaying()
Starts event playback mode, normally called by pressing the "Play" button the display.
void startAvgSurfDisplay()
Starts the averaged SURF hk display window.
int getAvgSurfEntry()
Attempts to load get the entry corresponding to fAvgSurfHkEntry.
Int_t fWhichEventFileKind
Flag to determine whether or not to use TTrees of lovely CalibratedAnitaEvent objects.
Definition: MagicDisplay.h:272
RawAnitaHeader – The Raw ANITA Event Header.
int loadSurfTree()
Opens the SURF hk file for the current run.
Long64_t fEventEntry
The current event+header entry.
Definition: MagicDisplay.h:251
Int_t getCurrentRun()
Returns the current run number.
Definition: MagicDisplay.h:107
SurfHk – The raw SURF scaler+threshold data.
Definition: SurfHk.h:24
void refreshAvgSurfDisplay()
Refreshes the averaged SURF hk display.
Long64_t fSumTurfRateEntry
The current summed TURF rate entry.
Definition: MagicDisplay.h:255
void refreshGpsDisplay()
Refreshs the GPS display.
enum MagicDisplaySurfHkDisplay::EMagicDisplaySurfHkDisplay MagicDisplaySurfHkDisplay_t
Enumeration for plot style.
int displayLastEvent()
Displays the last event in the file, normally called by pressing the "Last" button.
int loadAvgSurfTree()
Opens the averaged SURF hk file for the current rune.
What you should call for analysis work.
SummedTurfRate – The Summed Turf Rate data.
int displayPreviousGps()
Displays the previous event in the GPS tree.
UCorrelator::Analyzer * getUCorr()
< for command line interface
Definition: MagicDisplay.h:280
Long64_t fSurfHkEntry
The current SURF hk entry.
Definition: MagicDisplay.h:254
int loadDataset()
Loads the event tree corresponding to the current run number fCurrentRun
void drawEventButtons()
Worker function to draw the buttons on the main event display canvas.
UsefulAnitaEvent – The Calibrated Useful Anita Event object.
Long64_t fTurfRateEntry
The current TURF rate entry.
Definition: MagicDisplay.h:253
UInt_t getCurrentEvent()
Returns the current event number.
void toggleSumTurfYScale()
Toggles between fixed and auto-scaling y-axis on the summed TURF display.
void startEventDisplay()
static MagicDisplay * fgInstance
The pointer to the current MagicDisplay.
Definition: MagicDisplay.h:291
int displayNextTurf()
Displays the next event in the TURF tree.
void startEventPlayingReverse()
Starts the event playback in reverse mode, normally called by pressing the "Rev" button on the main d...
Long64_t fG12SatEntry
The current G12 satellite entry;.
Definition: MagicDisplay.h:258
UInt_t fCurrentRun
The current run number.
Definition: MagicDisplay.h:273
enum MagicDisplayGpsDisplay::EMagicDisplayGpsDisplay MagicDisplayGpsDisplay_t
Enumeration for plot style.
void toggleTurfYScale()
Toggles betweeen fixed and auto-scaling y-axis pn the TURF rate display.
void toggleSurfLogView()
Toggles between log and linear.
void startSumTurfDisplay()
Starts the summed TURF rate display program.
CalibratedAnitaEvent – The Calibrated Calibrated Anita Event object.
void setCanvasLayout(MagicDisplayCanvasLayoutOption::MagicDisplayCanvasLayoutOption_t option)
Toggles between waveform and FFT view modes.
Long64_t fEventCutListEntry
!< Replaces the need for MagicDisplay to track dataset itself
Definition: MagicDisplay.h:249
int getSurfEntry()
Attempts to load the entry corresponding to fSurfHkEntry.
TTreeIndex * fHeadIndex
Reused.
Definition: MagicDisplay.h:267
void setSurfHkDisplay(MagicDisplaySurfHkDisplay::MagicDisplaySurfHkDisplay_t surfDisplay)
Toggles between surf and phi views.
The Filtering panel.
void drawAvgSurfButtons()
Draws the buttons on the averaged SURF hk display.
void refreshTurfDisplay()
Refreshs the TURF rate display.
TurfRate – The Turf Rate data.
Definition: TurfRate.h:21
void refreshSumTurfDisplay()
Refreshes the summed TURF rate display.
Long64_t fAdu5aPatEntry
The current ADU5 A position entry.
Definition: MagicDisplay.h:259
void toggleAvgSurfRfPowerView(Int_t kelvinView)
Toggles betweem adc and Kelvin views.
void startSurfHkPlaying()
Starts SURF Hk Play mode.
int loadTurfTree()
Opens the TURF rate file for the current run.
int displayNextEvent(int nskip=0)
!< Display a particular event, uses AnitaDataset to find run if -1 is passed (default) ...
static MagicDisplay * Instance()
Returns a pointer to the active MagicDisplay. This is very useful if you want to access the TTree&#39;s d...
void setWaveformFormat(MagicDisplayFormatOption::MagicDisplayFormatOption_t waveformView)
Toggles between waveform and FFT view modes.
The Magic Display control panel.
void refreshSurfDisplay()
Refreshes the SURF Hk display.
int displayFirstEvent()
Displays the first event in the file, normally called by pressing the "First" button.
Long64_t fAdu5aVtgEntry
The current ADU5 A velocity entry.
Definition: MagicDisplay.h:261
void startAvgSurfHkPlaying()
Starts Average SURF Hk Play mode.
void drawSurfButtons()
Draws the buttons on the SURF hk display.
int loadSumTurfTree()
Opens the summed TURF rate file for the current run.
int displayThisEvent(UInt_t eventNumber, Int_t run=-1)
Displays a specified event number (from the specified run number). This is an increddibly useful and ...
Long64_t fAdu5bPatEntry
The current ADU5 B position entry.
Definition: MagicDisplay.h:262
This class is intended to store all the necessary data about an ANITA event for filtering and analysi...
GpsGga – GPS Geoid Data.
Definition: GpsGga.h:23
int getTurfEntry()
Attempts to load the entry corresponding to fTurfRateEntry.
int getGpsEntry()
Attempts to load the entries.
void applyCut(const char *cutString)
Applies a cut to the head tree.
Long64_t fPrettyHkEntry
The current pretty hk entry.
Definition: MagicDisplay.h:252
Long64_t fAvgSurfHkEntry
The current averaged SURF hk entry.
Definition: MagicDisplay.h:256
The Marvellous ANITA Graphical Interface and Class Display (Magic Display)
Definition: MagicDisplay.h:75
void startFilteringPanel()
Starts the filtering control panel, to set filter strategies in the gui.
int getEventEntry()
Tries to retrieve the event corresponding to entry fEventEntry from the evnt file. Returns zero on success.
void startGpsPlaying()
Starts GPS Play mode.
RawAnitaEvent – The Raw ANITA Event Data.
Definition: RawAnitaEvent.h:22
AveragedSurfHk – The Averaged SURF Housekeeping data.
void stopEventPlaying()
Stops the event playback, normally called by pressing the "Stop" button on the main display...