CMS 3D CMS Logo

Public Member Functions | Private Member Functions

FWZDCRecHitProxyBuilder Class Reference

Inheritance diagram for FWZDCRecHitProxyBuilder:
FWDigitSetProxyBuilder FWProxyBuilderBase

List of all members.

Public Member Functions

 FWZDCRecHitProxyBuilder (void)
 REGISTER_PROXYBUILDER_METHODS ()
virtual ~FWZDCRecHitProxyBuilder (void)

Private Member Functions

virtual void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *)
 FWZDCRecHitProxyBuilder (const FWZDCRecHitProxyBuilder &)
const FWZDCRecHitProxyBuilderoperator= (const FWZDCRecHitProxyBuilder &)

Detailed Description

Definition at line 16 of file FWZDCRecHitProxyBuilder.cc.


Constructor & Destructor Documentation

FWZDCRecHitProxyBuilder::FWZDCRecHitProxyBuilder ( void  ) [inline]

Definition at line 19 of file FWZDCRecHitProxyBuilder.cc.

{}  
virtual FWZDCRecHitProxyBuilder::~FWZDCRecHitProxyBuilder ( void  ) [inline, virtual]

Definition at line 20 of file FWZDCRecHitProxyBuilder.cc.

{}
FWZDCRecHitProxyBuilder::FWZDCRecHitProxyBuilder ( const FWZDCRecHitProxyBuilder ) [private]

Member Function Documentation

void FWZDCRecHitProxyBuilder::build ( const FWEventItem iItem,
TEveElementList *  product,
const FWViewContext  
) [private, virtual]

Reimplemented from FWProxyBuilderBase.

Definition at line 31 of file FWZDCRecHitProxyBuilder.cc.

References FWDigitSetProxyBuilder::addBox(), FWDigitSetProxyBuilder::addBoxSetToProduct(), edm::SortedCollection< T, SORT >::begin(), runEdmFileComparison::collection, edm::SortedCollection< T, SORT >::end(), fireworks::energyTower3DCorners(), FWEventItem::get(), FWGeometry::getCorners(), FWEventItem::getGeom(), getHLTprescales::index, FWProxyBuilderBase::item(), and FWEventItem::modelInfo().

{
   const edm::SortedCollection<ZDCRecHit> *collection = 0;
   iItem->get( collection );
   if (! collection)
      return;


   TEveBoxSet* boxSet = addBoxSetToProduct(product);
   boxSet->SetAntiFlick(kTRUE);
   int index = 0;
   for (std::vector<ZDCRecHit>::const_iterator it = collection->begin() ; it != collection->end(); ++it)
   {  
      const float* corners = item()->getGeom()->getCorners((*it).detid());

      std::vector<float> scaledCorners(24);
      if (corners != 0) {
         fireworks::energyTower3DCorners(corners, (*it).energy(), scaledCorners);
         // Invert the normals:
         // for (int i = 0; i < 12; ++i)
         //    std::swap(scaledCorners[i], scaledCorners[i+12]);
      }

      addBox(boxSet, &scaledCorners[0], iItem->modelInfo(index++).displayProperties());
   }
}
const FWZDCRecHitProxyBuilder& FWZDCRecHitProxyBuilder::operator= ( const FWZDCRecHitProxyBuilder ) [private]
FWZDCRecHitProxyBuilder::REGISTER_PROXYBUILDER_METHODS ( )