00001 00018 #ifndef GFXDIGITLIST_H 00019 #define GFXDIGITLIST_H 00020 00021 #include <Midad/MultiPage/GfxDigit.h> 00022 #include <Midad/MultiPage/GfxBase.h> 00023 #include <Midad/MultiPage/GfxDigitListCfg.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 GfxDigitList : public GfxBase 00035 { 00036 00037 public: 00038 00039 GfxDigitList(); 00040 ~GfxDigitList(); 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 ExecuteEventDigit(int event, int px, int py, GfxDigit* hit); 00048 00049 GfxDigitListCfg& GetCfg() { return *fCfg; } 00050 00051 RangeDouble& GetColorRange() { return *fColorRange; } 00052 00053 bool DigitMasked(const CandDigitHandle& csh) const; 00054 bool DigitMasked(const CandDigitHandle& csh, 00055 const PlexSEIdAltLItem& itm) const; 00056 00057 int GetDigitColor(const CandDigitHandle& csh) const; 00058 int GetDigitColor(const CandDigitHandle& csh, 00059 const PlexSEIdAltLItem& itm) const; 00060 00061 Mint& GetMint() { return *fMint; } 00062 00063 void HideDigits(bool hide = true); 00064 bool DigitsHidden() { return fHideDigits; } 00065 00066 00067 private: 00068 00069 void ReConfigure(void); 00070 void ClearDigitList(); 00071 00072 GfxDigitListCfg* fCfg; 00073 00074 SigC::Ptr<RangeDouble> fColorRange; 00075 PageDisplay* fPageDisplay; 00076 MultiPage* fMultiPage; 00077 Mint* fMint; 00078 00079 TClonesArray* fDigitCA; 00080 typedef std::vector<GfxDigit*> GfxDigitVector_t; 00081 GfxDigitVector_t fDigits; 00082 00083 bool fHideDigits; 00084 }; // end of class GfxDigitList 00085 00086 #endif // GFXDIGITLIST_H
1.3.9.1