#include <FWPFTrackRPZProxyBuilder.h>
Public Member Functions | |
FWPFTrackRPZProxyBuilder () | |
REGISTER_PROXYBUILDER_METHODS () | |
virtual | ~FWPFTrackRPZProxyBuilder () |
Private Member Functions | |
virtual void | build (const reco::Track &iData, unsigned int iIndex, TEveElement &oItemHolder, const FWViewContext *vc) |
FWPFTrackRPZProxyBuilder (const FWPFTrackRPZProxyBuilder &) | |
const FWPFTrackRPZProxyBuilder & | operator= (const FWPFTrackRPZProxyBuilder &) |
Definition at line 25 of file FWPFTrackRPZProxyBuilder.h.
FWPFTrackRPZProxyBuilder::FWPFTrackRPZProxyBuilder | ( | ) | [inline] |
Definition at line 29 of file FWPFTrackRPZProxyBuilder.h.
{}
virtual FWPFTrackRPZProxyBuilder::~FWPFTrackRPZProxyBuilder | ( | ) | [inline, virtual] |
Definition at line 30 of file FWPFTrackRPZProxyBuilder.h.
{}
FWPFTrackRPZProxyBuilder::FWPFTrackRPZProxyBuilder | ( | const FWPFTrackRPZProxyBuilder & | ) | [private] |
void FWPFTrackRPZProxyBuilder::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 5 of file FWPFTrackRPZProxyBuilder.cc.
References a, b, trackerHits::c, FWPFTrackUtils::getCollisionMarkers(), i, prof2calltree::last, FWProxyBuilderBase::setupAddElement(), FWPFTrackUtils::setupTrack(), detailsBasic3DVector::y, and z.
{ FWPFTrackUtils *utils = new FWPFTrackUtils(); TEveTrack *trk = utils->setupTrack( iData ); TEvePointSet *ps = utils->getCollisionMarkers( trk ); TEvePointSet *rzps = new TEvePointSet(); setupAddElement( trk, &oItemHolder ); Float_t *trackPoints = trk->GetP(); unsigned int last = ( trk->GetN() - 1 ) * 3; float y = trackPoints[last+1]; float z = trackPoints[last+2]; // Reposition any points that have been translated in RhoZ for( signed int i = 0; i < ps->GetN(); ++i ) { // WORKS BUT DOESN'T HANDLE ALL SCENARIOS..... Float_t a,b,c; ps->GetPoint( i, a, b, c ); if( y < 0 && b > 0 ) b *= -1; else if( y > 0 && b < 0 ) b *= -1; if( z < 0 && c > 0 ) c *= -1; else if( z > 0 && c < 0 ) c *= -1; rzps->SetNextPoint( a, b, c ); } if( rzps->GetN() != 0 ) setupAddElement( rzps, &oItemHolder ); else delete rzps; delete ps; delete utils; }
const FWPFTrackRPZProxyBuilder& FWPFTrackRPZProxyBuilder::operator= | ( | const FWPFTrackRPZProxyBuilder & | ) | [private] |
FWPFTrackRPZProxyBuilder::REGISTER_PROXYBUILDER_METHODS | ( | ) |