00001
00002
00004 #ifndef __Otile__
00005 #define __Otile__
00006
00007 #include "Oqplane.h"
00008 #include "GwollumPlot.h"
00009
00010 using namespace std;
00011
00017 class Otile: public GwollumPlot {
00018
00019 public:
00020
00044 Otile(const int aTimeRange,
00045 const double aQMin,
00046 const double aQMax,
00047 const double aFrequencyMin,
00048 const double aFrequencyMax,
00049 const int aSampleFrequency,
00050 const double aMaximumMismatch,
00051 const string aPlotStyle="GWOLLUM",
00052 const int aVerbosity=0);
00053
00057 virtual ~Otile(void);
00065 inline int GetNQ(void){ return nq; };
00066
00072 double GetQ(const int aQindex);
00073
00078 bool DrawMapTiling(const int aQindex);
00079
00084 bool DrawMapContent(const int aQindex);
00085
00090 bool DrawMapPhase(const int aQindex);
00091
00101 bool SetPower(Spectrum *aSpec);
00102
00114 bool ProjectData(double *aDataRe, double *aDataIm, const bool aTileDown=true);
00115
00126 bool SaveTriggers(MakeTriggers *aTriggers, const double aLeftTimePad=0.0, const double aRightTimePad=0.0, const double aT0=0.0);
00127
00143 double SaveMaps(const string aOutdir, const string aName, const int aT0, const string aFormat, vector <int> aWindows, const bool aThumb=false);
00144
00152 static vector <double> ComputeQs(const double aQMin, const double aQMax, const double aMaximumMismatch);
00153
00159 inline void SetSNRScale(const int aSNRScale){ snrscale=aSNRScale; };
00160
00168 inline void SetSaveSelection(const double aSNRThr_map=-1.0, const double aSNRThr_trigger=2.0, const int aNTriggerMax=1000000){
00169 NTriggerMax=aNTriggerMax;
00170 SNRThr_map=aSNRThr_map;
00171 for(int q=0; q<nq; q++) qplanes[q]->SetSNRThr(aSNRThr_trigger);
00172 };
00173
00174
00175 private:
00176
00177 int fVerbosity;
00178 Oqplane **qplanes;
00179 int nq;
00180 int TimeRange;
00181 int snrscale;
00182 double SNRThr_map;
00183 int NTriggerMax;
00184
00185 TH2D* MakeFullMap(const int aTimeRange, const double aT0=0.0);
00186 void TileDown(void);
00187 void ApplyOffset(TH2D *aMap, const double aOffset);
00188
00189 ClassDef(Otile,0)
00190 };
00191
00192 #endif
00193
00194