ARA ROOT Test BEd Software

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