ARA ROOT Test BEd 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 "AraTBCanvasMaker.h"
00022 #include "AraCanvasMaker.h"
00023 
00024 #include "araSoft.h"
00025 
00026 class TCanvas;
00027 class TPad;
00028 class UsefulIcrrStationEvent;
00029 class RawIcrrStationEvent;
00030 
00031 class UsefulAtriStationEvent;
00032 class RawAtriStationEvent;
00033 
00034 class RawAraStationEvent;
00035 
00036 class TButton;
00037 class TTreeIndex;
00038 class TFile;
00039 class TEventList;
00040 
00042 
00049 class AraDisplay 
00050 {
00051  public:
00052   
00054 
00059   AraDisplay(char *baseDir, unsigned int time, AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00060   AraDisplay(char *eventFile,  AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00061   AraDisplay(); 
00062   ~AraDisplay(); 
00063   
00064   //Control Panel Functions
00065   void startControlPanel(); 
00066   
00067   Int_t getCurrentFileTime() 
00068   {return fCurrentFileTime;} 
00069   UInt_t getCurrentEvent(); 
00070 
00071   void startEventPlaying(); 
00072   void startEventPlayingReverse(); 
00073   void stopEventPlaying(); 
00074 
00075   void closeCurrentFile(); 
00076 
00077   int loadEventTree(char *eventFile=0); 
00078   void startEventDisplay(); 
00079 
00080 
00084   int displayThisEvent(UInt_t eventNumber); 
00085   int displayNextEvent(); 
00086   int displayFirstEvent(); 
00087   int displayLastEvent(); 
00088   int displayPreviousEvent(); 
00089   void refreshEventDisplay(); 
00090   int getEventEntry(); 
00091   void drawEventButtons(); 
00092   
00093   void setCanvasLayout(AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t option);
00095 
00098   void setWaveformFormat(AraDisplayFormatOption::AraDisplayFormatOption_t waveformView); 
00099   void applyCut(char *cutString); 
00100 
00101   void setCorrelatorType(AraCorrelatorType::AraCorrelatorType_t corType) 
00102   { if(fEventCanMaker) fEventCanMaker->setCorrelatorType(corType);}
00103   void setNumAntsInMap(int numAnts) 
00104   { if(fEventCanMaker) fEventCanMaker->setNumAntsInMap(numAnts);}
00106 
00109   static AraDisplay*  Instance();
00110   
00111 
00112   TFile *fEventFile; 
00113 
00114   //Here are the data managers
00115   TChain *fEventTree; 
00116   
00117 
00118   //And some useful info to keep track of what is where
00119   Long64_t fEventCutListEntry; 
00120   Long64_t fEventTreeIndexEntry; 
00121   Long64_t fEventEntry; 
00122 
00123   //jpd event index
00124   TTreeIndex *fEventIndex; 
00125   
00126 
00127 
00128   UInt_t fCurrentFileTime; 
00129   Char_t fCurrentBaseDir[180]; 
00130   
00131 
00132  protected:
00133   static AraDisplay *fgInstance;  
00134    // protect against multiple instances
00135 
00136  private:
00137   void zeroPointers();
00138   AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout;
00139   AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformFormat; 
00140 
00141   AraTBCanvasMaker *fTBEventCanMaker;
00142   AraCanvasMaker *fEventCanMaker;
00143 
00144 
00145   AraControlPanel *fControlPanel;
00146 
00147    TCanvas *fAraCanvas; 
00148    TPad *fAraMainPad; 
00149    TPad *fAraEventInfoPad; 
00150 
00151    UsefulIcrrStationEvent *fTBUsefulEventPtr; 
00152    UsefulIcrrStationEvent *fTBRawEventPtr; 
00153    UsefulAtriStationEvent *fUsefulEventPtr; 
00154    UsefulAtriStationEvent *fRawEventPtr; 
00155    Int_t fCurrentRun; 
00156    RawAraStationEvent *fRawStationEventPtr; //jpd
00157 
00158       
00159    TButton *fElecViewButton; 
00160    TButton *fRFViewButton; 
00161    TButton *fAntViewButton; 
00162    TButton *fMapViewButton; 
00163    //TButton *fPayloadButton; ///< The payload view button.
00164 
00165    TButton *fWaveformButton; 
00166    TButton *fPowerButton; 
00167    TButton *fHilbertButton; 
00168    TButton *fAverageFFTButton; 
00169    //   TButton *fTimeEntryButton; ///< The button that toggles between events and times
00170 
00171 
00172    Int_t fInEventPlayMode; 
00173    Int_t fEventPlaySleepMs; 
00174    Int_t fTBData;
00175    Int_t fApplyEventCut; 
00176    TEventList *fCutEventList; 
00177    
00178    AraCalType::AraCalType_t fCalType; 
00179 
00180 };
00181 
00182 
00183 #endif //ARADISPLAY_H

Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by doxygen 1.4.7