CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Fireworks/Calo/plugins/FWHFTowerProxyBuilder.h

Go to the documentation of this file.
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