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::Muon >.
Definition at line 33 of file FWMuonLegoProxyBuilder.cc.
References reco::Muon::calEnergy(), reco::LeafCandidate::eta(), reco::Muon::isEnergyValid(), reco::LeafCandidate::phi(), FWProxyBuilderBase::setupAddElement(), reco::Muon::standAloneMuon(), and reco::Muon::track().
{
TEvePointSet* points = new TEvePointSet;
setupAddElement( points, &oItemHolder );
points->SetMarkerStyle( 2 );
points->SetMarkerSize( 0.2 );
if( iData.isEnergyValid() && iData.calEnergy().ecal_position.r() > 100 )
{
points->SetNextPoint( iData.calEnergy().ecal_position.eta(),
iData.calEnergy().ecal_position.phi(),
0.1 );
return;
}
if( iData.track().isAvailable() && iData.track()->extra().isAvailable())
{
points->SetNextPoint( iData.track()->outerPosition().eta(),
iData.track()->outerPosition().phi(),
0.1 );
return;
}
if( iData.standAloneMuon().isAvailable() && iData.standAloneMuon()->extra().isAvailable())
{
if( iData.standAloneMuon()->innerPosition().R() < iData.standAloneMuon()->outerPosition().R())
points->SetNextPoint( iData.standAloneMuon()->innerPosition().eta(),
iData.standAloneMuon()->innerPosition().phi(),
0.1 );
else
points->SetNextPoint( iData.standAloneMuon()->outerPosition().eta(),
iData.standAloneMuon()->outerPosition().phi(),
0.1 );
return;
}
points->SetNextPoint( iData.eta(), iData.phi(), 0.1 );
}