CMS 3D CMS Logo

Public Member Functions | Private Member Functions

FWSiPixelClusterProxyBuilder Class Reference

Inheritance diagram for FWSiPixelClusterProxyBuilder:
FWProxyBuilderBase

List of all members.

Public Member Functions

 FWSiPixelClusterProxyBuilder (void)
 REGISTER_PROXYBUILDER_METHODS ()
virtual ~FWSiPixelClusterProxyBuilder (void)

Private Member Functions

virtual void build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *)
 FWSiPixelClusterProxyBuilder (const FWSiPixelClusterProxyBuilder &)
const
FWSiPixelClusterProxyBuilder
operator= (const FWSiPixelClusterProxyBuilder &)

Detailed Description

Definition at line 23 of file FWSiPixelClusterProxyBuilder.cc.


Constructor & Destructor Documentation

FWSiPixelClusterProxyBuilder::FWSiPixelClusterProxyBuilder ( void  ) [inline]

Definition at line 26 of file FWSiPixelClusterProxyBuilder.cc.

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

Definition at line 27 of file FWSiPixelClusterProxyBuilder.cc.

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

Member Function Documentation

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

Reimplemented from FWProxyBuilderBase.

Definition at line 41 of file FWSiPixelClusterProxyBuilder.cc.

References edmNew::DetSet< T >::begin(), edmNew::DetSetVector< T >::begin(), FWGeometry::contains(), edmNew::DetSetVector< T >::end(), edmNew::DetSet< T >::end(), fwLog, relativeConstraints::geom, FWEventItem::get(), FWEventItem::getGeom(), FWGeometry::getParameters(), fwlog::kWarning, FWGeometry::localToGlobal(), fireworks::pixelLocalX(), fireworks::pixelLocalY(), and FWProxyBuilderBase::setupAddElement().

{
  const SiPixelClusterCollectionNew* pixels = 0;
  
  iItem->get( pixels );
  
  if( ! pixels ) 
  {    
    fwLog( fwlog::kWarning ) << "failed get SiPixelDigis" << std::endl;
    return;
  }

  for( SiPixelClusterCollectionNew::const_iterator set = pixels->begin(), setEnd = pixels->end();
       set != setEnd; ++set ) 
  {    
    unsigned int id = set->detId();

    const FWGeometry *geom = iItem->getGeom();
    const float* pars = geom->getParameters( id );

    const edmNew::DetSet<SiPixelCluster> & clusters = *set;
      
    for( edmNew::DetSet<SiPixelCluster>::const_iterator itc = clusters.begin(), edc = clusters.end(); 
         itc != edc; ++itc ) 
    {
      TEvePointSet* pointSet = new TEvePointSet;
      setupAddElement( pointSet, product );
      
      if( ! geom->contains( id ))
      {
        fwLog( fwlog::kWarning ) 
          << "failed get geometry of SiPixelCluster with detid: "
          << id << std::endl;
        continue;
      }

      float localPoint[3] = 
        {     
          fireworks::pixelLocalX(( *itc ).minPixelRow(), ( int )pars[0] ),
          fireworks::pixelLocalY(( *itc ).minPixelCol(), ( int )pars[1] ),
          0.0
        };

      float globalPoint[3];
      geom->localToGlobal( id, localPoint, globalPoint );

      pointSet->SetNextPoint( globalPoint[0], globalPoint[1], globalPoint[2] );
    }
  }    
}
const FWSiPixelClusterProxyBuilder& FWSiPixelClusterProxyBuilder::operator= ( const FWSiPixelClusterProxyBuilder ) [private]
FWSiPixelClusterProxyBuilder::REGISTER_PROXYBUILDER_METHODS ( )