ARA ROOT v3.6 Software

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 doxygen 1.4.7