#ifndef ROOT_VSPlot2 #define ROOT_VSPlot2 //*-- Author : Damir Buskulic 20/10/00 ////////////////////////////////////////////////////////////////////////// // // // VSPlot2 // // // // class describing a plot (representation) of a 2D series // // (time-frequency, video images) // // // ////////////////////////////////////////////////////////////////////////// #include "TNamed.h" #include "TH2.h" #include "VManager.h" #include "VGPSTime.h" class TObject; class VManager; class VSPlot2 : public TH2D { private : VManager* mManager; // Manager maintaining this plot VGPSTime mGPSStart; // Start time of the series for this plot Double_t mStepX; // Step (sample) size of the series for this plot Double_t mStepY; // Step (sample) size of the series for this plot Int_t mLeapS; // leap seconds for calculating UTC time Int_t mLocalTime; // offset factor for calculating local time Int_t fStartTimeDisplay; //on/off Flag to display start time below axis // call it fStart... and not mStart... because of // a bug in handling of popup menus (TOGGLE option) Double_t mStartTimeXOffset; // X offset for start time display Double_t mStartTimeYOffset; // Y offset for start time display TString mUnitX; // units on the X axis TString mUnitY; // units on the Y axis TString mUnitZ; // units on the Z axis void BuildVSP(); public : VSPlot2(); VSPlot2(Text_t* name, Text_t* title, Int_t nbinsx, Axis_t xlow, Axis_t xup, Int_t nbinsy, Axis_t ylow, Axis_t yup, VManager* serie); VSPlot2(Text_t* name, Text_t* title, Int_t nbinsx, Axis_t xlow, Axis_t xup, Int_t nbinsy, Axis_t ylow, Axis_t yup); VSPlot2(Text_t* name, Text_t* title, Int_t nbinsx, Axis_t* xbins, Int_t nbinsy, Axis_t* ybins); VSPlot2(VSPlot2& vsplot); ~VSPlot2(); void Copy(TObject& newvsp); void AdoptManager(VManager* mgr); // Adopt the manager as the maintainer of this plot void AbandonManager(); // Removes this plot from the maintenance of this manager VManager* GetManager() const {return mManager;} // Origin object of this VSPlot VGPSTime GetGPSStart() {return mGPSStart;} // True gps time start for this plot Double_t GetStepX() {return mStepX;} // offset for this plot Double_t GetStepY() {return mStepY;} // offset for this plot Int_t GetLocalTime() {return mLocalTime;} // local time for this plot Int_t GetLeapS() {return mLeapS;} // Leap seconds for this plot Int_t GetStartTimeDisplay() {return fStartTimeDisplay;} Double_t GetStartTimeXOffset() {return mStartTimeXOffset;} Double_t GetStartTimeYOffset() {return mStartTimeYOffset;} void SetStepX(Double_t step) {mStepX = step;} void SetStepY(Double_t step) {mStepY = step;} void SetGPSStart(Double_t gpsstart); void SetGPSStart(UInt_t gpsstartS, UInt_t gpsstartNS); void SetLocalTime(Int_t localtime) {mLocalTime = localtime;} void SetLeapS(Int_t leaps) {mLeapS = leaps;} void SetStartTimeDisplay(Int_t mode) {fStartTimeDisplay = mode;} //*TOGGLE* void SetStartTimeXOffset(Double_t offset) {mStartTimeXOffset = offset;} //*MENU* *ARGS={offset=>mStartTimeXOffset} void SetStartTimeYOffset(Double_t offset) {mStartTimeYOffset = offset;} //*MENU* *ARGS={offset=>mStartTimeYOffset} void Paint(Option_t* option); ClassDef(VSPlot2,2) // Description of a plot-representation of a 2D series }; #endif