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 "araDefines.h"
00021 #include "AraCanvasMaker.h"
00022 
00023 class TCanvas;
00024 class TPad;
00025 class UsefulAraEvent;
00026 class RawAraEvent;
00027 
00028 
00029 class TButton;
00030 class TTreeIndex;
00031 class TFile;
00032 class TEventList;
00033 
00035 
00042 class AraDisplay 
00043 {
00044  public:
00045   
00047 
00052   AraDisplay(char *baseDir, unsigned int time, AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00053   AraDisplay(char *eventFile,  AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00054   AraDisplay(); 
00055   ~AraDisplay(); 
00056   
00057   //Control Panel Functions
00058   void startControlPanel(); 
00059   
00060   Int_t getCurrentFileTime() 
00061   {return fCurrentFileTime;} 
00062   UInt_t getCurrentEvent(); 
00063 
00064   void startEventPlaying(); 
00065   void startEventPlayingReverse(); 
00066   void stopEventPlaying(); 
00067 
00068   void closeCurrentFile(); 
00069 
00070   int loadEventTree(char *eventFile=0); 
00071   void startEventDisplay(); 
00072 
00073 
00077   int displayThisEvent(UInt_t eventNumber); 
00078   int displayNextEvent(); 
00079   int displayFirstEvent(); 
00080   int displayLastEvent(); 
00081   int displayPreviousEvent(); 
00082   void refreshEventDisplay(); 
00083   int getEventEntry(); 
00084   void drawEventButtons(); 
00085   
00086   void setCanvasLayout(AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t option);
00088 
00091   void setWaveformFormat(AraDisplayFormatOption::AraDisplayFormatOption_t waveformView); 
00092   void applyCut(char *cutString); 
00093 
00094   void setCorrelatorType(AraCorrelatorType::AraCorrelatorType_t corType) 
00095   { if(fEventCanMaker) fEventCanMaker->setCorrelatorType(corType);}
00096   void setNumAntsInMap(int numAnts) 
00097   { if(fEventCanMaker) fEventCanMaker->setNumAntsInMap(numAnts);}
00099 
00102   static AraDisplay*  Instance();
00103   
00104 
00105   TFile *fEventFile; 
00106 
00107   //Here are the data managers
00108   TChain *fEventTree; 
00109   
00110 
00111   //And some useful info to keep track of what is where
00112   Long64_t fEventCutListEntry; 
00113   Long64_t fEventTreeIndexEntry; 
00114   Long64_t fEventEntry; 
00115 
00116   UInt_t fCurrentFileTime; 
00117   Char_t fCurrentBaseDir[180]; 
00118   
00119 
00120  protected:
00121   static AraDisplay *fgInstance;  
00122    // protect against multiple instances
00123 
00124  private:
00125   void zeroPointers();
00126   AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout;
00127   AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformFormat; 
00128 
00129   AraCanvasMaker *fEventCanMaker;
00130 
00131 
00132   AraControlPanel *fControlPanel;
00133 
00134    TCanvas *fAraCanvas; 
00135    TPad *fAraMainPad; 
00136    TPad *fAraEventInfoPad; 
00137 
00138    UsefulAraEvent *fUsefulEventPtr; 
00139    UsefulAraEvent *fRawEventPtr; 
00140    Int_t fCurrentRun; 
00141       
00142    TButton *fElecViewButton; 
00143    TButton *fRFViewButton; 
00144    TButton *fAntViewButton; 
00145    TButton *fMapViewButton; 
00146    //TButton *fPayloadButton; ///< The payload view button.
00147 
00148    TButton *fWaveformButton; 
00149    TButton *fPowerButton; 
00150    TButton *fHilbertButton; 
00151    TButton *fAverageFFTButton; 
00152    //   TButton *fTimeEntryButton; ///< The button that toggles between events and times
00153 
00154 
00155    Int_t fInEventPlayMode; 
00156    Int_t fEventPlaySleepMs; 
00157    Int_t fApplyEventCut; 
00158    TEventList *fCutEventList; 
00159    
00160    AraCalType::AraCalType_t fCalType; 
00161 
00162 };
00163 
00164 
00165 #endif //ARADISPLAY_H

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