AraDisplay/AraTBCanvasMaker.h
00001 00002 00003 00004 00005 00006 00007 00008 00009 #ifndef ARATBCANVASMAKER_H 00010 #define ARATBCANVASMAKER_H 00011 00012 //Includes 00013 #include <iostream> 00014 #include <TObject.h> 00015 #include <TMath.h> 00016 #include <TH1.h> 00017 #include <TVector3.h> 00018 #include "AraDisplayConventions.h" 00019 #include "UsefulIcrrStationEvent.h" 00020 #include "AraEventCalibrator.h" 00021 #include "AraEventCorrelator.h" 00022 00023 class TPad; 00024 class TFile; 00025 00027 00030 class AraTBCanvasMaker 00031 { 00032 public: 00033 //Something of a sleazy hack for the web plotter. 00034 TH1D *getFFTHisto(int ant); 00035 00036 void setCorrelatorType(AraCorrelatorType::AraCorrelatorType_t corType) {fCorType=corType;} 00037 void setCanvasLayout(AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t canOption) {fCanvasLayout=canOption;} 00038 void setWaveformFormat(AraDisplayFormatOption::AraDisplayFormatOption_t waveOption) {fWaveformOption=waveOption;} 00039 void resetAverage(); 00040 void setNumAntsInMap(int numAnts) {fNumAntsInMap=numAnts;} 00041 00042 00043 Int_t fNumAntsInMap; 00044 Double_t fMinVoltLimit; 00045 Double_t fMaxVoltLimit; 00046 Int_t fAutoScale; 00047 Double_t fMinClockVoltLimit; 00048 Double_t fMaxClockVoltLimit; 00049 Double_t fMinTimeLimit; 00050 Double_t fMaxTimeLimit; 00051 Double_t fMinPowerLimit; 00052 Double_t fMaxPowerLimit; 00053 Double_t fMinFreqLimit; 00054 Double_t fMaxFreqLimit; 00055 00056 AraCorrelatorType::AraCorrelatorType_t fCorType; 00057 AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout; 00058 AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformOption; 00059 Int_t fRedoEventCanvas; 00060 //Int_t fRedoSurfCanvas; 00061 AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fLastCanvasView; 00062 AraDisplayFormatOption::AraDisplayFormatOption_t fLastWaveformFormat; 00063 Int_t fNewEvent; 00064 00066 00072 TPad *getEventViewerCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00073 00075 00081 TPad *quickGetEventViewerCanvasForWebPlottter(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00082 00083 00084 00085 00087 00092 TPad *getEventInfoCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0, Int_t runNumber=0); 00093 00094 00095 void setupElecPadWithFrames(TPad *plotPad); 00096 void setupRFChanPadWithFrames(TPad *plotPad, Int_t stationId); 00097 void setupAntPadWithFrames(TPad *plotPad, Int_t stationId); 00098 00099 void deleteTGraphsFromElecPad(TPad *paddy,int chan); 00100 void deleteTGraphsFromRFPad(TPad *paddy,int ant); 00101 00103 00107 AraTBCanvasMaker(AraCalType::AraCalType_t calType=AraCalType::kVoltageTime); 00108 ~AraTBCanvasMaker(); 00109 00110 //Instance generator 00111 static AraTBCanvasMaker* Instance(); 00112 00113 void setPassBandFilterFlag( int flag) { fPassBandFilter=flag;} 00114 void setNotchFilterFlag( int flag) { fNotchFilter=flag;} 00115 void setPassBandLimits(Double_t low, Double_t high) 00116 { fLowPassEdge=low; fHighPassEdge=high;} 00117 void setNotchBandLimits(Double_t low, Double_t high) 00118 { fLowNotchEdge=low; fHighNotchEdge=high;} 00119 00120 00121 AraCalType::AraCalType_t fCalType; 00122 00123 protected: 00124 static AraTBCanvasMaker *fgInstance; 00125 00126 private: 00127 Int_t fWebPlotterMode; 00128 Int_t fPhiMax; 00129 TFile *fAraGeomFile; 00130 Int_t fPassBandFilter; 00131 Int_t fNotchFilter; 00132 Double_t fLowPassEdge; 00133 Double_t fHighPassEdge; 00134 Double_t fLowNotchEdge; 00135 Double_t fHighNotchEdge; 00136 00137 00141 TPad *getElectronicsCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00143 00147 TPad *getAntennaCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00149 00153 TPad *getIntMapCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00155 00159 TPad *getRFChannelCanvas(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00160 00162 00166 TPad *getCanvasForWebPlotter(UsefulIcrrStationEvent *evPtr, TPad *useCan=0); 00167 00168 }; 00169 00170 00171 #endif //ARATBCANVASMAKER_H
Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by
