CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Fireworks/Calo/plugins/FWHBHERecHitProxyBuilder.cc

Go to the documentation of this file.
00001 #include "Fireworks/Calo/plugins/FWCaloRecHitDigitSetProxyBuilder.h"
00002 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
00003 
00004 class FWHBHERecHitProxyBuilder : public FWCaloRecHitDigitSetProxyBuilder
00005 {
00006 public:
00007    FWHBHERecHitProxyBuilder( void ) { invertBox(true); }
00008    virtual ~FWHBHERecHitProxyBuilder( void ) {}
00009 
00010    REGISTER_PROXYBUILDER_METHODS();
00011 
00012 private:
00013    FWHBHERecHitProxyBuilder( const FWHBHERecHitProxyBuilder& );
00014    const FWHBHERecHitProxyBuilder& operator=( const FWHBHERecHitProxyBuilder& );
00015 };
00016 
00017 REGISTER_FWPROXYBUILDER( FWHBHERecHitProxyBuilder, HBHERecHitCollection, "HBHE RecHit", FWViewType::kISpyBit );
00018 
00019 
00020 // AMT: Refelct box. Previously used energyScaledBox3DCorners()
00021 
00022 /*
00023 void
00024 FWHBHERecHitProxyBuilder::build( const FWEventItem* iItem, TEveElementList* product, const FWViewContext* vc)
00025 {
00026    m_plotEt = vc->getEnergyScale()->getPlotEt();
00027 
00028    const HBHERecHitCollection* collection = 0;
00029    iItem->get( collection );
00030 
00031    if( 0 == collection )
00032    {
00033       return;
00034    }
00035    std::vector<HBHERecHit>::const_iterator it = collection->begin();
00036    std::vector<HBHERecHit>::const_iterator itEnd = collection->end();
00037    std::vector<float> scaledCorners(24);
00038 
00039    for( ; it != itEnd; ++it )
00040    {
00041       if(( *it ).energy() > m_maxEnergy )
00042          m_maxEnergy = ( *it ).energy();
00043    }
00044 
00045    TEveBoxSet* boxSet = addBoxSetToProduct(product);
00046    int index = 0;
00047    for (std::vector<HBHERecHit>::const_iterator it = collection->begin() ; it != collection->end(); ++it)
00048    {  
00049       const float* corners = context().getGeom()->getCorners((*it).detid());
00050       if (corners)
00051       {
00052          if (m_plotEt)
00053             fireworks::etScaledBox3DCorners(corners, (*it).energy(), m_maxEnergy, scaledCorners, true);
00054          else
00055             fireworks::energyScaledBox3DCorners(corners, (*it).energy() / m_maxEnergy, scaledCorners, true);
00056       }
00057       addBox(boxSet, &scaledCorners[0], iItem->modelInfo(index++).displayProperties());
00058    }
00059 }
00060 */