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
