00001 00018 #ifndef GFXDIGITLIST_H 00019 #define GFXDIGITLIST_H 00020 00021 #include "GfxDigit.h" 00022 #include "GfxBase.h" 00023 #include "GfxDigitListCfg.h" 00024 #include <Midad/Util/Range.h> 00025 #include "EVD.h" 00026 #include <sigc++/sigc++.h> 00027 00028 #include <vector> 00029 00030 class MomNavigator; 00031 class PageDisplay; 00032 class EVD; 00033 class Mint; 00034 class TClonesArray; 00035 00036 class GfxDigitList : public GfxBase 00037 { 00038 00039 public: 00040 00041 GfxDigitList(); 00042 ~GfxDigitList(); 00043 00044 void Init(PageDisplay& pd, EVD& mp); 00045 void Configure(Mint& mint); 00046 00047 // Override TObject 00048 void Draw(Option_t *option=""); 00049 void ExecuteEvent(int /*event */, int /* px */, int /* py */, GfxDigit* hit); 00050 void ExecuteEvent(int /*event */, int /* px */, int /*py */){;} 00051 00052 GfxDigitListCfg& GetCfg() { return *fCfg; } 00053 00054 RangeDouble& GetColorRange() { return *fColorRange; } 00055 00056 bool DigitMasked(const CandDigitHandle& csh) const; 00057 bool DigitMasked(const CandDigitHandle& csh, 00058 const PlexSEIdAltLItem& itm) const; 00059 00060 int GetDigitColor(const CandDigitHandle& csh) const; 00061 int GetDigitColor(const CandDigitHandle& csh, 00062 const PlexSEIdAltLItem& itm) const; 00063 00064 Mint& GetMint() { return *fMint; } 00065 00066 void HideDigits(bool hide = true); 00067 bool DigitsHidden() { return fHideDigits; } 00068 EVD* GetEVD(){return fEVD;} 00069 00070 00071 private: 00072 00073 void ReConfigure(void); 00074 void ClearDigitList(); 00075 00076 GfxDigitListCfg* fCfg; 00077 00078 SigC::Ptr<RangeDouble> fColorRange; 00079 PageDisplay* fPageDisplay; 00080 EVD* fEVD; 00081 Mint* fMint; 00082 00083 TClonesArray* fDigitCA; 00084 typedef std::vector<GfxDigit*> GfxDigitVector_t; 00085 GfxDigitVector_t fDigits; 00086 00087 bool fHideDigits; 00088 }; // end of class GfxDigitList 00089 00090 #endif // GFXDIGITLIST_H
1.3.9.1