CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/Fireworks/Tracks/plugins/FWBeamSpotProxyBuilder.cc

Go to the documentation of this file.
00001 /*
00002  *  FWBeamSpotProxyBuilder.cc
00003  *  FWorks
00004  *
00005  *  Created by Ianna Osborne on 7/29/10.
00006  *
00007  */
00008 #include "TEvePointSet.h"
00009 
00010 #include "Fireworks/Core/interface/FWSimpleProxyBuilderTemplate.h"
00011 #include "Fireworks/Core/interface/FWEventItem.h"
00012 
00013 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00014 
00015 class FWBeamSpotProxyBuilder : public FWSimpleProxyBuilderTemplate<reco::BeamSpot>
00016 {
00017 public:
00018   FWBeamSpotProxyBuilder( void ) {}
00019   virtual ~FWBeamSpotProxyBuilder( void ) {}
00020    
00021   REGISTER_PROXYBUILDER_METHODS();
00022 
00023 private:
00024   // Disable default copy constructor
00025   FWBeamSpotProxyBuilder( const FWBeamSpotProxyBuilder& );
00026   // Disable default assignment operator
00027   const FWBeamSpotProxyBuilder& operator=( const FWBeamSpotProxyBuilder& );
00028 
00029   virtual void build( const reco::BeamSpot& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* );
00030 };
00031 
00032 void
00033 FWBeamSpotProxyBuilder::build( const reco::BeamSpot& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* )
00034 {
00035   const reco::BeamSpot::Point &pos =  iData.position();
00036   TEvePointSet* pointSet = new TEvePointSet;
00037   pointSet->SetMarkerSize(0.5);
00038   setupAddElement( pointSet, &oItemHolder );
00039 
00040   pointSet->SetNextPoint( pos.x(),  pos.y(),  pos.z()); 
00041 }
00042 
00043 REGISTER_FWPROXYBUILDER( FWBeamSpotProxyBuilder, reco::BeamSpot, "Beam Spot",  FWViewType::kAll3DBits | FWViewType::kAllRPZBits );