ARA ROOT v3.4 Software

AraDisplay/AraDisplay.h

00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 #ifndef ARADISPLAY_H
00012 #define ARADISPLAY_H
00013 
00014 //Includes
00015 #include "TChain.h"
00016 #include "AraDisplayConventions.h"
00017 #include "AraEventCalibrator.h"
00018 #include "AraEventCorrelator.h"
00019 #include "AraControlPanel.h"
00020 #include "araIcrrDefines.h"
00021 #include "araAtriStructures.h"
00022 #include "AraIcrrCanvasMaker.h"
00023 #include "AraAtriCanvasMaker.h"
00024 
00025 #include "araSoft.h"
00026 
00027 class TCanvas;
00028 class TPad;
00029 class UsefulIcrrStationEvent;
00030 class RawIcrrStationEvent;
00031 
00032 class UsefulAtriStationEvent;
00033 class RawAtriStationEvent;
00034 
00035 class RawAraStationEvent;
00036 
00037 class TButton;
00038 class TTreeIndex;
00039 class TFile;
00040 class TEventList;
00041 
00043 
00050 class AraDisplay 
00051 {
00052  public:
00053   
00055 
00060   AraDisplay(char *baseDir, unsigned int time, AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00061   AraDisplay(char *eventFile,  AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00062   AraDisplay(); 
00063   ~AraDisplay(); 
00064   
00065   //Control Panel Functions
00066   void startControlPanel(); 
00067   
00068   Int_t getCurrentFileTime() 
00069   {return fCurrentFileTime;} 
00070   UInt_t getCurrentEvent(); 
00071 
00072   void startEventPlaying(); 
00073   void startEventPlayingReverse(); 
00074   void stopEventPlaying(); 
00075 
00076   void closeCurrentFile(); 
00077 
00078   int loadEventTree(char *eventFile=0); 
00079   void startEventDisplay(); 
00080 
00081 
00085   int displayThisEvent(UInt_t eventNumber); 
00086   int displayNextEvent(); 
00087   int displayFirstEvent(); 
00088   int displayLastEvent(); 
00089   int displayPreviousEvent(); 
00090   void refreshEventDisplay(); 
00091   int getEventEntry(); 
00092   void drawEventButtons(); 
00093   
00094   void setCanvasLayout(AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t option);
00096 
00099   void setWaveformFormat(AraDisplayFormatOption::AraDisplayFormatOption_t waveformView); 
00100   void applyCut(char *cutString); 
00101 
00102   void setCorrelatorType(AraCorrelatorType::AraCorrelatorType_t corType) 
00103   { if(fAtriEventCanMaker) fAtriEventCanMaker->setCorrelatorType(corType);}
00104   void setNumAntsInMap(int numAnts) 
00105   { if(fAtriEventCanMaker) fAtriEventCanMaker->setNumAntsInMap(numAnts);}
00107 
00110   static AraDisplay*  Instance();
00111   
00112 
00113   TFile *fEventFile; 
00114 
00115   //Here are the data managers
00116   TChain *fEventTree; 
00117   
00118 
00119   //And some useful info to keep track of what is where
00120   Long64_t fEventCutListEntry; 
00121   Long64_t fEventTreeIndexEntry; 
00122   Long64_t fEventEntry; 
00123 
00124   TTreeIndex *fEventIndex; 
00125   UInt_t fCurrentFileTime; 
00126   Char_t fCurrentBaseDir[180]; 
00127   
00128 
00129  protected:
00130   static AraDisplay *fgInstance;  
00131    // protect against multiple instances
00132 
00133  private:
00134   void zeroPointers();
00135   AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout;
00136   AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformFormat; 
00137 
00138   AraIcrrCanvasMaker *fIcrrEventCanMaker;
00139   AraAtriCanvasMaker *fAtriEventCanMaker;
00140 
00141 
00142   AraControlPanel *fControlPanel;
00143 
00144    TCanvas *fAraCanvas; 
00145    TPad *fAraMainPad; 
00146    TPad *fAraEventInfoPad; 
00147 
00148    UsefulIcrrStationEvent *fIcrrUsefulEventPtr; 
00149    UsefulIcrrStationEvent *fIcrrRawEventPtr; 
00150    UsefulAtriStationEvent *fAtriUsefulEventPtr; 
00151    UsefulAtriStationEvent *fAtriRawEventPtr; 
00152    Int_t fCurrentRun; 
00153    RawAraStationEvent *fRawStationEventPtr; 
00154 
00155       
00156    TButton *fElecViewButton; 
00157    TButton *fRFViewButton; 
00158    TButton *fAntViewButton; 
00159    TButton *fMapViewButton; 
00160    //TButton *fPayloadButton; ///< The payload view button.
00161 
00162    TButton *fWaveformButton; 
00163    TButton *fPowerButton; 
00164    TButton *fHilbertButton; 
00165    TButton *fAverageFFTButton; 
00166    //   TButton *fTimeEntryButton; ///< The button that toggles between events and times
00167 
00168 
00169    Int_t fInEventPlayMode; 
00170    Int_t fEventPlaySleepMs; 
00171    Int_t fIcrrData;
00172    Int_t fApplyEventCut; 
00173    TEventList *fCutEventList; 
00174    
00175    AraCalType::AraCalType_t fCalType; 
00176 
00177 };
00178 
00179 
00180 #endif //ARADISPLAY_H

Generated on Mon Mar 18 16:00:44 2013 for ARA ROOT v3.4 Software by doxygen 1.4.7