00001 #ifndef Fireworks_Calo_FWHFTowerProxyBuilder_h 00002 #define Fireworks_Calo_FWHFTowerProxyBuilder_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Calo 00006 // Class : FWHFTowerProxyBuilder 00007 // 00016 // 00017 // Original Author: 00018 // Created: Mon May 31 16:41:23 CEST 2010 00019 // $Id: FWHFTowerProxyBuilder.h,v 1.8 2010/09/20 15:58:18 yana Exp $ 00020 // 00021 00022 // system include files 00023 00024 // user include files 00025 #include "Fireworks/Calo/interface/FWCaloDataProxyBuilderBase.h" 00026 #include "Fireworks/Calo/src/FWFromTEveCaloDataSelector.h" 00027 #include "DataFormats/HcalRecHit/interface/HFRecHit.h" 00028 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" 00029 00030 class TEveCaloDataVec; 00031 // 00032 // base 00033 // 00034 class FWHFTowerProxyBuilderBase : public FWCaloDataProxyBuilderBase 00035 { 00036 public: 00037 FWHFTowerProxyBuilderBase(); 00038 virtual ~FWHFTowerProxyBuilderBase(); 00039 00040 // ---------- const member functions --------------------- 00041 00042 // ---------- static member functions -------------------- 00043 00044 // ---------- member functions --------------------------- 00045 REGISTER_PROXYBUILDER_METHODS(); 00046 00047 protected: 00048 virtual void setCaloData(const fireworks::Context&); 00049 virtual void fillCaloData(); 00050 virtual bool assertCaloDataSlice(); 00051 00052 virtual void itemBeingDestroyed(const FWEventItem*); 00053 00054 private: 00055 00056 FWHFTowerProxyBuilderBase(const FWHFTowerProxyBuilderBase&); // stop default 00057 00058 const FWHFTowerProxyBuilderBase& operator=(const FWHFTowerProxyBuilderBase&); // stop default 00059 00060 virtual void build(const FWEventItem* iItem, 00061 TEveElementList* product, const FWViewContext*); 00062 00063 int fillTowerForDetId(unsigned int rawid, float); 00064 // ---------- member data -------------------------------- 00065 00066 const HFRecHitCollection* m_hits; 00067 // int m_depth; 00068 TEveCaloDataVec* m_vecData; 00069 }; 00070 00071 /* 00072 // 00073 // ShortFiber 00074 // 00075 00076 class FWHFShortTowerProxyBuilder : public FWHFTowerProxyBuilderBase 00077 { 00078 public: 00079 FWHFShortTowerProxyBuilder() : FWHFTowerProxyBuilderBase(1) { 00080 } 00081 virtual ~FWHFShortTowerProxyBuilder() { 00082 } 00083 00084 // ---------- const member functions --------------------- 00085 virtual const std::string sliceName() const { 00086 return "HFShort"; 00087 }; 00088 00089 REGISTER_PROXYBUILDER_METHODS(); 00090 00091 private: 00092 FWHFShortTowerProxyBuilder(const FWHFShortTowerProxyBuilder&); // stop default 00093 const FWHFShortTowerProxyBuilder& operator=(const FWHFShortTowerProxyBuilder&); // stop default 00094 }; 00095 00096 00097 // 00098 // LongFiber 00099 // 00100 00101 class FWHFLongTowerProxyBuilder : public FWHFTowerProxyBuilderBase 00102 { 00103 public: 00104 FWHFLongTowerProxyBuilder() : FWHFTowerProxyBuilderBase(2) { 00105 } 00106 virtual ~FWHFLongTowerProxyBuilder(){ 00107 } 00108 00109 // ---------- const member functions --------------------- 00110 virtual const std::string sliceName() const { 00111 return "HFLong"; 00112 } 00113 00114 00115 REGISTER_PROXYBUILDER_METHODS(); 00116 private: 00117 FWHFLongTowerProxyBuilder(const FWHFLongTowerProxyBuilder&); // stop default 00118 00119 const FWHFLongTowerProxyBuilder& operator=(const FWHFLongTowerProxyBuilder&); // stop default 00120 }; 00121 */ 00122 00123 #endif