CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions

FWTracksModulesProxyBuilder Class Reference

Inheritance diagram for FWTracksModulesProxyBuilder:
FWSimpleProxyBuilderTemplate< reco::Track > FWSimpleProxyBuilder FWProxyBuilderBase

List of all members.

Public Member Functions

 FWTracksModulesProxyBuilder (void)
 REGISTER_PROXYBUILDER_METHODS ()
virtual ~FWTracksModulesProxyBuilder (void)

Static Public Member Functions

static bool representsSubPart (void)

Private Member Functions

void build (const reco::Track &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *)
 FWTracksModulesProxyBuilder (const FWTracksModulesProxyBuilder &)
const FWTracksModulesProxyBuilderoperator= (const FWTracksModulesProxyBuilder &)

Detailed Description

Definition at line 19 of file FWTracksModulesProxyBuilder.cc.


Constructor & Destructor Documentation

FWTracksModulesProxyBuilder::FWTracksModulesProxyBuilder ( void  ) [inline]

Definition at line 22 of file FWTracksModulesProxyBuilder.cc.

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

Definition at line 23 of file FWTracksModulesProxyBuilder.cc.

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

Member Function Documentation

void FWTracksModulesProxyBuilder::build ( const reco::Track iData,
unsigned int  iIndex,
TEveElement &  oItemHolder,
const FWViewContext  
) [private, virtual]

iIndex is the index where iData is found in the container from which it came iItemHolder is the object to which you add your own objects which inherit from TEveElement

Reimplemented from FWSimpleProxyBuilderTemplate< reco::Track >.

Definition at line 36 of file FWTracksModulesProxyBuilder.cc.

References DetId::det(), cond::rpcobgas::detid, GeomDetEnumerators::DT, DTChamberId, reco::Track::extra(), fwLog, relativeConstraints::geom, FWGeometry::getEveShape(), FWEventItem::getGeom(), info, FWProxyBuilderBase::item(), fwlog::kDebug, DetId::Muon, reco::Track::recHitsBegin(), reco::Track::recHitsEnd(), FWProxyBuilderBase::setupAddElement(), and DetId::subdetId().

{
   if( track.extra().isAvailable() )
   {
     const FWGeometry *geom = item()->getGeom();

      for( trackingRecHit_iterator recIt = track.recHitsBegin(), recItEnd = track.recHitsEnd();
           recIt != recItEnd; ++recIt )
      {
         DetId detid = ( *recIt )->geographicalId();
         if(( *recIt )->isValid())
         {
            if( detid.det() ==  DetId::Muon )
            {
               if( detid.subdetId() == MuonSubdetId::DT )
                  detid = DetId( DTChamberId( detid )); // get rid of layer bits
            }

            TEveGeoShape* shape = geom->getEveShape( detid );
            if( shape )
            {
               setupAddElement( shape, &oItemHolder );
            }
            else
            {
               fwLog( fwlog::kDebug )
                 << "Failed to get shape extract for track-id " << iIndex << ", tracking rec hit: "
                 << "\n" << fireworks::info( detid ) << std::endl;
            }
         }
      }
   }
}
const FWTracksModulesProxyBuilder& FWTracksModulesProxyBuilder::operator= ( const FWTracksModulesProxyBuilder ) [private]
FWTracksModulesProxyBuilder::REGISTER_PROXYBUILDER_METHODS ( )
bool FWTracksModulesProxyBuilder::representsSubPart ( void  ) [static]

Used by the plugin system to determine precidence of different proxy builders for same type this returns 'true' if the proxy builder is specialized to only show a sub-part of the object as opposed to showing the object as a whole

Reimplemented from FWProxyBuilderBase.

Definition at line 71 of file FWTracksModulesProxyBuilder.cc.

{
   return true;
}