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
