CMS 3D CMS Logo

FWTracksRecHitsProxyBuilder.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 // $Id: FWTracksRecHitsProxyBuilder.cc,v 1.1 2009/01/16 10:37:00 Tom Danielson
3 //
4 
5 // user include files
6 #include "TEveGeoShape.h"
7 #include "TEvePointSet.h"
8 
13 
15 
17 
19 {
20 public:
22  virtual ~FWTracksRecHitsProxyBuilder( void ) {}
23 
25 
26  static bool representsSubPart( void );
27 
28 private:
30  void build( const reco::Track& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* ) override;
31 
33  const FWTracksRecHitsProxyBuilder& operator=( const FWTracksRecHitsProxyBuilder& ); // stop default
34 };
35 
36 void
37 FWTracksRecHitsProxyBuilder::build( const reco::Track& track, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* )
38 {
39  if( track.extra().isAvailable() )
40  {
41  std::vector<TVector3> points;
42  const FWEventItem &iItem = *item();
43  fireworks::pushPixelHits( points, iItem, track );
44 
45  TEvePointSet* pointSet = new TEvePointSet();
46  for( std::vector<TVector3>::const_iterator it = points.begin(), itEnd = points.end(); it != itEnd; ++it )
47  {
48  pointSet->SetNextPoint( it->x(), it->y(), it->z());
49  }
50  setupAddElement(pointSet, &oItemHolder);
51 
52  fireworks::addSiStripClusters( item(), track, &oItemHolder, false, true );
53  }
54 }
55 
56 bool
58 {
59  return true;
60 }
61 
bool isAvailable() const
Definition: Ref.h:577
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
Definition: FWViewType.h:58
const TrackExtraRef & extra() const
reference to "extra" object
Definition: Track.h:189
const FWTracksRecHitsProxyBuilder & operator=(const FWTracksRecHitsProxyBuilder &)
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
const FWEventItem * item() const
static const int kAll3DBits
Definition: FWViewType.h:59
void pushPixelHits(std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
Definition: TrackUtils.cc:582
void addSiStripClusters(const FWEventItem *iItem, const reco::Track &t, class TEveElement *tList, bool addNearbyClusters, bool master)
Definition: TrackUtils.cc:358