AraDisplay/AraAtriCanvasMaker.h
00001 00002 00003 00004 00005 00006 00007 00008 00009 #ifndef ARACANVASMAKER_H 00010 #define ARACANVASMAKER_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 "araSoft.h" 00019 #include "AraDisplayConventions.h" 00020 #include "UsefulAtriStationEvent.h" 00021 #include "AraEventCalibrator.h" 00022 #include "AraEventCorrelator.h" 00023 00024 class TPad; 00025 class TFile; 00026 00028 00031 class AraAtriCanvasMaker 00032 { 00033 public: 00034 //Something of a sleazy hack for the web plotter. 00035 TH1D *getFFTHisto(int ant); 00036 00037 void setCorrelatorType(AraCorrelatorType::AraCorrelatorType_t corType) {fCorType=corType;} 00038 void setCanvasLayout(AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t canOption) {fCanvasLayout=canOption;} 00039 void setWaveformFormat(AraDisplayFormatOption::AraDisplayFormatOption_t waveOption) {fWaveformOption=waveOption;} 00040 void resetAverage(); 00041 void setNumAntsInMap(int numAnts) {fNumAntsInMap=numAnts;} 00042 00043 00044 Int_t fNumAntsInMap; 00045 Double_t fThisMinTime; 00046 Double_t fThisMaxTime; 00047 00048 Double_t fMinVoltLimit[RFCHAN_PER_DDA]; 00049 Double_t fMaxVoltLimit[RFCHAN_PER_DDA]; 00050 Int_t fAutoScale; 00051 Double_t fMinClockVoltLimit; 00052 Double_t fMaxClockVoltLimit; 00053 Double_t fMinTimeLimit; 00054 Double_t fMaxTimeLimit; 00055 Double_t fMinPowerLimit; 00056 Double_t fMaxPowerLimit; 00057 Double_t fMinFreqLimit; 00058 Double_t fMaxFreqLimit; 00059 00060 AraCorrelatorType::AraCorrelatorType_t fCorType; 00061 AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout; 00062 AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformOption; 00063 Int_t fRedoEventCanvas; 00064 //Int_t fRedoSurfCanvas; 00065 AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fLastCanvasView; 00066 AraDisplayFormatOption::AraDisplayFormatOption_t fLastWaveformFormat; 00067 Int_t fNewEvent; 00068 00070 00076 TPad *getEventViewerCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00077 00079 00085 TPad *quickGetEventViewerCanvasForWebPlottter(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00086 00087 00088 00089 00091 00096 TPad *getEventInfoCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0, Int_t runNumber=0); 00097 00098 00099 void setupElecPadWithFrames(TPad *plotPad); 00100 void setupRFChanPadWithFrames(TPad *plotPad); 00101 void setupAntPadWithFrames(TPad *plotPad); 00102 00103 void deleteTGraphsFromElecPad(TPad *paddy,int chan); 00104 void deleteTGraphsFromRFPad(TPad *paddy,int ant); 00105 00107 00111 AraAtriCanvasMaker(AraCalType::AraCalType_t calType=AraCalType::kVoltageTime); 00112 ~AraAtriCanvasMaker(); 00113 00114 //Instance generator 00115 static AraAtriCanvasMaker* Instance(); 00116 00117 void setPassBandFilterFlag( int flag) { fPassBandFilter=flag;} 00118 void setNotchFilterFlag( int flag) { fNotchFilter=flag;} 00119 void setPassBandLimits(Double_t low, Double_t high) 00120 { fLowPassEdge=low; fHighPassEdge=high;} 00121 void setNotchBandLimits(Double_t low, Double_t high) 00122 { fLowNotchEdge=low; fHighNotchEdge=high;} 00123 00124 00125 AraCalType::AraCalType_t fCalType; 00126 00127 protected: 00128 static AraAtriCanvasMaker *fgInstance; 00129 00130 private: 00131 Int_t fWebPlotterMode; 00132 Int_t fPhiMax; 00133 TFile *fAraGeomFile; 00134 Int_t fPassBandFilter; 00135 Int_t fNotchFilter; 00136 Double_t fLowPassEdge; 00137 Double_t fHighPassEdge; 00138 Double_t fLowNotchEdge; 00139 Double_t fHighNotchEdge; 00140 00141 00145 TPad *getElectronicsCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00147 00151 TPad *getAntennaCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00153 00157 TPad *getIntMapCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00159 00163 TPad *getRFChannelCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00164 00166 00170 TPad *getCanvasForWebPlotter(UsefulAtriStationEvent *evPtr, TPad *useCan=0); 00171 00172 }; 00173 00174 00175 #endif //ARACANVASMAKER_H
Generated on Mon Mar 18 16:04:45 2013 for ARA ROOT v3.6 Software by
