Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:27

0001 #ifndef Fireworks_Calo_FWHFTowerProxyBuilder_h
0002 #define Fireworks_Calo_FWHFTowerProxyBuilder_h
0003 // -*- C++ -*-
0004 //
0005 // Package:     Calo
0006 // Class  :     FWHFTowerProxyBuilder
0007 //
0008 /**\class FWHFTowerProxyBuilder FWHFTowerProxyBuilder.h Fireworks/Calo/interface/FWHFTowerProxyBuilder.h
0009 
0010  Description: [one line class summary]
0011 
0012  Usage:
0013     <usage>
0014 
0015 */
0016 //
0017 // Original Author:
0018 //         Created:  Mon May 31 16:41:23 CEST 2010
0019 //
0020 
0021 // system include files
0022 
0023 // user include files
0024 #include "Fireworks/Calo/interface/FWCaloDataProxyBuilderBase.h"
0025 #include "Fireworks/Calo/interface/FWFromTEveCaloDataSelector.h"
0026 #include "DataFormats/HcalRecHit/interface/HFRecHit.h"
0027 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0028 
0029 class TEveCaloDataVec;
0030 //
0031 // base
0032 //
0033 class FWHFTowerProxyBuilderBase : public FWCaloDataProxyBuilderBase {
0034 public:
0035   FWHFTowerProxyBuilderBase();
0036   ~FWHFTowerProxyBuilderBase() override;
0037 
0038   // ---------- const member functions ---------------------
0039 
0040   // ---------- static member functions --------------------
0041 
0042   // ---------- member functions ---------------------------
0043   REGISTER_PROXYBUILDER_METHODS();
0044 
0045 protected:
0046   void setCaloData(const fireworks::Context&) override;
0047   void fillCaloData() override;
0048   bool assertCaloDataSlice() override;
0049 
0050   void itemBeingDestroyed(const FWEventItem*) override;
0051 
0052 public:
0053   FWHFTowerProxyBuilderBase(const FWHFTowerProxyBuilderBase&) = delete;  // stop default
0054 
0055   const FWHFTowerProxyBuilderBase& operator=(const FWHFTowerProxyBuilderBase&) = delete;  // stop default
0056 
0057 private:
0058   void build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) override;
0059 
0060   int fillTowerForDetId(unsigned int rawid, float);
0061   // ---------- member data --------------------------------
0062 
0063   const HFRecHitCollection* m_hits;
0064   //   int   m_depth;
0065   TEveCaloDataVec* m_vecData;
0066 };
0067 
0068 /*
0069 //
0070 // ShortFiber
0071 //
0072 
0073 class FWHFShortTowerProxyBuilder : public FWHFTowerProxyBuilderBase
0074 {
0075 public:
0076   FWHFShortTowerProxyBuilder() : FWHFTowerProxyBuilderBase(1) {
0077   }
0078   virtual ~FWHFShortTowerProxyBuilder() {
0079   }
0080   
0081   // ---------- const member functions ---------------------
0082   virtual const std::string sliceName() const {
0083     return "HFShort";
0084   }; 
0085   
0086   REGISTER_PROXYBUILDER_METHODS();
0087   
0088 private:
0089   FWHFShortTowerProxyBuilder(const FWHFShortTowerProxyBuilder&); // stop default
0090   const FWHFShortTowerProxyBuilder& operator=(const FWHFShortTowerProxyBuilder&); // stop default
0091 };
0092 
0093 
0094 //
0095 // LongFiber
0096 //
0097 
0098 class FWHFLongTowerProxyBuilder : public FWHFTowerProxyBuilderBase
0099 {
0100 public:
0101   FWHFLongTowerProxyBuilder() : FWHFTowerProxyBuilderBase(2) {
0102   }
0103   virtual ~FWHFLongTowerProxyBuilder(){
0104   }
0105   
0106   // ---------- const member functions ---------------------
0107   virtual const std::string sliceName() const {
0108     return "HFLong";
0109   }
0110   
0111   
0112   REGISTER_PROXYBUILDER_METHODS();
0113 private:
0114   FWHFLongTowerProxyBuilder(const FWHFLongTowerProxyBuilder&); // stop default
0115   
0116   const FWHFLongTowerProxyBuilder& operator=(const FWHFLongTowerProxyBuilder&); // stop default
0117 };
0118 */
0119 
0120 #endif