CMS 3D CMS Logo

FWTrackingParticleProxyBuilder.cc
Go to the documentation of this file.
1 /*
2  * FWTrackingParticleProxyBuilder.cc
3  * FWorks
4  *
5  * Created by Ianna Osborne on 9/9/10.
6  *
7  */
8 
14 
17 
18 #include "TEveTrack.h"
19 
21 {
22 public:
25 
26  virtual void setItem(const FWEventItem* iItem) override {
28  iItem->getConfig()->assertParam("Point Size", 1l, 3l, 1l);
29  }
30 
32 
33 private:
34  // Disable default copy constructor
36  // Disable default assignment operator
38 
40  void build( const TrackingParticle& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* ) override;
41 };
42 
43 void
44 FWTrackingParticleProxyBuilder::build( const TrackingParticle& iData, unsigned int iIndex, TEveElement& oItemHolder, const FWViewContext* )
45 {
46  TEveRecTrack t;
47  t.fBeta = 1.0;
48  t.fP = TEveVector( iData.px(), iData.py(), iData.pz() );
49  t.fV = TEveVector( iData.vx(), iData.vy(), iData.vz() );
50  t.fSign = iData.charge();
51 
52  TEveTrack* track = new TEveTrack(&t, context().getTrackPropagator());
53  if( t.fSign == 0 )
54  track->SetLineStyle( 7 );
55 
56  track->MakeTrack();
57  setupAddElement( track, &oItemHolder );
58 }
59 
const fireworks::Context & context() const
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:169
#define REGISTER_PROXYBUILDER_METHODS()
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
static const int kAllRPZBits
Definition: FWViewType.h:58
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
double py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
static const int kAll3DBits
Definition: FWViewType.h:59
double pz() const
z coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
float charge() const
Electric charge. Note this is taken from the first SimTrack only.
virtual void setItem(const FWEventItem *iItem) override
double vy() const
y coordinate of parent vertex position
virtual void setItem(const FWEventItem *iItem)
const FWTrackingParticleProxyBuilder & operator=(const FWTrackingParticleProxyBuilder &)
FWGenericParameter< T > * assertParam(const std::string &name, T def)
double vx() const
x coordinate of parent vertex position
Monte Carlo truth information used for tracking validation.
double px() const
x coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
double vz() const