00001 00018 #ifndef GFXDIGITLIST_H 00019 #define GFXDIGITLIST_H 00020 00021 #include <Midad/MultiPage/GfxStrip.h> 00022 #include <Midad/MultiPage/GfxBase.h> 00023 #include <Midad/MultiPage/GfxStripListCfg.h> 00024 #include <Midad/Util/Range.h> 00025 00026 #include <vector> 00027 00028 class MomNavigator; 00029 class PageDisplay; 00030 class MultiPage; 00031 class Mint; 00032 class TClonesArray; 00033 00034 class GfxStripList : public GfxBase 00035 { 00036 00037 public: 00038 00039 GfxStripList(); 00040 ~GfxStripList(); 00041 00042 void Init(PageDisplay& pd, MultiPage& mp); 00043 void Configure(Mint& mint); 00044 00045 // Override TObject 00046 void Draw(Option_t *option=""); 00047 void ExecuteEventStrip(int event, int px, int py, GfxStrip* hit); 00048 00049 GfxStripListCfg& GetCfg() { return *fCfg; } 00050 00051 RangeDouble& GetColorRange() { return *fColorRange; } 00052 bool StripMasked(const CandStripHandle& csh) const; 00053 int GetStripColor(const CandStripHandle& csh) const; 00054 Mint& GetMint() { return *fMint; } 00055 00056 void HideStrips(bool hide = true); 00057 bool StripsHidden() { return fHideStrips; } 00058 00059 private: 00060 00061 void ReConfigure(void); 00062 void ClearStripList(); 00063 void SetTQfromButton(); 00064 00065 GfxStripListCfg* fCfg; 00066 00067 SigC::Ptr<RangeDouble> fColorRange; 00068 PageDisplay* fPageDisplay; 00069 MultiPage* fMultiPage; 00070 Mint* fMint; 00071 00072 TClonesArray* fStripCA; 00073 typedef std::vector<GfxStrip*> GfxStripVector_t; 00074 GfxStripVector_t fStrips; 00075 00076 bool fHideStrips; 00077 }; // end of class GfxStripList 00078 00079 #endif // GFXDIGITLIST_H
1.3.9.1