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 Tue Sep 11 19:51:09 2012 for ARA ROOT v3.3 Software by
