00001 #ifndef Fireworks_Calo_FWCaloDataProxyBuilderBase_h 00002 #define Fireworks_Calo_FWCaloDataProxyBuilderBase_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Calo 00006 // Class : FWCaloDataProxyBuilderBase 00007 // 00016 // 00017 // Original Author: 00018 // Created: Mon May 31 15:09:19 CEST 2010 00019 // $Id: FWCaloDataProxyBuilderBase.h,v 1.4 2010/10/22 15:34:16 amraktad Exp $ 00020 // 00021 00022 // system include files 00023 #include <string> 00024 00025 // user include files 00026 00027 #include "Rtypes.h" 00028 #include "Fireworks/Core/interface/FWProxyBuilderBase.h" 00029 #include "DataFormats/CaloTowers/interface/CaloTower.h" 00030 #include "DataFormats/CaloTowers/interface/CaloTowerFwd.h" 00031 00032 // forward declarations 00033 00034 class FWCaloDataProxyBuilderBase : public FWProxyBuilderBase 00035 { 00036 public: 00037 FWCaloDataProxyBuilderBase(); 00038 virtual ~FWCaloDataProxyBuilderBase(); 00039 00040 // ---------- const member functions --------------------- 00041 00042 virtual bool willHandleInteraction() const { return true; } 00043 00044 // ---------- static member functions -------------------- 00045 00046 // ---------- member functions --------------------------- 00047 00048 protected: 00049 virtual void build(const FWEventItem* iItem, 00050 TEveElementList* product, const FWViewContext*); 00051 00052 virtual void setCaloData(const fireworks::Context&) = 0; 00053 virtual void fillCaloData() = 0; 00054 virtual bool assertCaloDataSlice() = 0; 00055 00056 // ---------- member data -------------------------------- 00057 TEveCaloData* m_caloData; 00058 Int_t m_sliceIndex; 00059 virtual void itemBeingDestroyed(const FWEventItem*); 00060 00061 private: 00062 FWCaloDataProxyBuilderBase(const FWCaloDataProxyBuilderBase&); // stop default 00063 00064 const FWCaloDataProxyBuilderBase& operator=(const FWCaloDataProxyBuilderBase&); // stop default 00065 00066 // ---------- member data -------------------------------- 00067 00068 00069 virtual void modelChanges(const FWModelIds&, Product*); 00070 00071 void clearCaloDataSelection(); 00072 }; 00073 00074 00075 #endif