ARA ROOT Test BEd Software

AraDisplay/AraCanvasMaker.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 "AraDisplayConventions.h"
00019 #include "UsefulAtriStationEvent.h"
00020 #include "AraEventCalibrator.h"
00021 #include "AraEventCorrelator.h"
00022 
00023 class TPad;
00024 class TFile;
00025 
00027 
00030 class AraCanvasMaker 
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 fThisMinTime; 
00045   Double_t fThisMaxTime; 
00046 
00047    Double_t fMinVoltLimit; 
00048    Double_t fMaxVoltLimit; 
00049    Int_t fAutoScale; 
00050    Double_t fMinClockVoltLimit; 
00051    Double_t fMaxClockVoltLimit; 
00052    Double_t fMinTimeLimit; 
00053    Double_t fMaxTimeLimit; 
00054    Double_t fMinPowerLimit; 
00055    Double_t fMaxPowerLimit; 
00056    Double_t fMinFreqLimit; 
00057    Double_t fMaxFreqLimit; 
00058 
00059    AraCorrelatorType::AraCorrelatorType_t fCorType; 
00060    AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fCanvasLayout; 
00061    AraDisplayFormatOption::AraDisplayFormatOption_t fWaveformOption; 
00062    Int_t fRedoEventCanvas; 
00063    //Int_t fRedoSurfCanvas;
00064    AraDisplayCanvasLayoutOption::AraDisplayCanvasLayoutOption_t fLastCanvasView; 
00065    AraDisplayFormatOption::AraDisplayFormatOption_t fLastWaveformFormat; 
00066    Int_t fNewEvent; 
00067   
00069 
00075    TPad *getEventViewerCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00076    
00078 
00084    TPad *quickGetEventViewerCanvasForWebPlottter(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00085    
00086   
00087   
00088 
00090 
00095    TPad *getEventInfoCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0, Int_t runNumber=0);
00096   
00097    
00098    void setupElecPadWithFrames(TPad *plotPad); 
00099    void setupRFChanPadWithFrames(TPad *plotPad); 
00100    void setupAntPadWithFrames(TPad *plotPad); 
00101 
00102    void deleteTGraphsFromElecPad(TPad *paddy,int chan); 
00103    void deleteTGraphsFromRFPad(TPad *paddy,int ant); 
00104    
00106 
00110    AraCanvasMaker(AraCalType::AraCalType_t calType=AraCalType::kVoltageTime);
00111    ~AraCanvasMaker(); 
00112    
00113    //Instance generator
00114    static AraCanvasMaker*  Instance(); 
00115    
00116    void setPassBandFilterFlag( int flag) { fPassBandFilter=flag;} 
00117    void setNotchFilterFlag( int flag) { fNotchFilter=flag;} 
00118    void setPassBandLimits(Double_t low, Double_t high)
00119    { fLowPassEdge=low; fHighPassEdge=high;} 
00120    void setNotchBandLimits(Double_t low, Double_t high)
00121    { fLowNotchEdge=low; fHighNotchEdge=high;} 
00122 
00123    
00124    AraCalType::AraCalType_t fCalType; 
00125    
00126  protected:
00127    static AraCanvasMaker *fgInstance; 
00128 
00129  private:
00130    Int_t fWebPlotterMode;
00131    Int_t fPhiMax;
00132    TFile *fAraGeomFile;
00133    Int_t fPassBandFilter; 
00134    Int_t fNotchFilter; 
00135    Double_t fLowPassEdge; 
00136    Double_t fHighPassEdge; 
00137    Double_t fLowNotchEdge; 
00138    Double_t fHighNotchEdge; 
00139 
00140 
00144    TPad *getElectronicsCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00146 
00150    TPad *getAntennaCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00152 
00156    TPad *getIntMapCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00158 
00162    TPad *getRFChannelCanvas(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00163 
00165 
00169    TPad *getCanvasForWebPlotter(UsefulAtriStationEvent *evPtr, TPad *useCan=0);
00170 
00171 };
00172 
00173 
00174 #endif //ARACANVASMAKER_H

Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by doxygen 1.4.7