00001 #ifndef Fireworks_Core_FWLegoViewBase_h 00002 #define Fireworks_Core_FWLegoViewBase_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWLegoViewBase 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Thu Feb 21 11:22:37 EST 2008 00019 // $Id: FWLegoViewBase.h,v 1.14 2010/11/15 17:14:27 amraktad Exp $ 00020 // 00021 00022 // system include files 00023 #include "Rtypes.h" 00024 00025 // user include files 00026 #include "Fireworks/Core/interface/FWEveView.h" 00027 #include "Fireworks/Core/interface/FWBoolParameter.h" 00028 #include "Fireworks/Core/interface/FWDoubleParameter.h" 00029 #include "Fireworks/Core/interface/FWLongParameter.h" 00030 #include "Fireworks/Core/interface/Context.h" 00031 00032 // forward declarations 00033 class TEveViewer; 00034 class TEveScene; 00035 class TEveElementList; 00036 class TEveCaloLego; 00037 class TEveCaloLegoOverlay; 00038 class TEveCaloDataHist; 00039 00040 class FWLegoViewBase : public FWEveView 00041 { 00042 public: 00043 FWLegoViewBase(TEveWindowSlot*, FWViewType::EType); 00044 virtual ~FWLegoViewBase(); 00045 00046 virtual void setFrom(const FWConfiguration&); 00047 00048 virtual void setContext(const fireworks::Context&); 00049 00050 // ---------- const member functions --------------------- 00051 00052 virtual void addTo(FWConfiguration&) const; 00053 virtual void populateController(ViewerParameterGUI&) const; 00054 00055 virtual TEveCaloViz* getEveCalo() const; 00056 00057 // ---------- member functions --------------------------- 00058 00059 protected: 00060 TEveCaloLego* m_lego; 00061 TEveCaloLegoOverlay* m_overlay; 00062 00063 private: 00064 FWLegoViewBase(const FWLegoViewBase&); // stop default 00065 00066 const FWLegoViewBase& operator=(const FWLegoViewBase&); // stop default 00067 00068 void setCameras(); 00069 void setAutoRebin(); 00070 void setPixelsPerBin(); 00071 void setFontSizein2D(); 00072 void autoScale(); 00073 void showOverlay(); 00074 void setProjectionMode(); 00075 void setCell2DMode(); 00076 00077 // ---------- member data -------------------------------- 00078 00079 FWBoolParameter m_autoRebin; 00080 FWDoubleParameter m_pixelsPerBin; 00081 FWEnumParameter m_projectionMode; 00082 FWEnumParameter m_cell2DMode; 00083 FWLongParameter m_drawValuesIn2D; 00084 FWBoolParameter m_showOverlay; 00085 }; 00086 00087 00088 #endif