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 public:
24 
25  void setItem(const FWEventItem* iItem) override {
27  iItem->getConfig()->assertParam("Point Size", 1l, 3l, 1l);
28  }
29 
31 
32 private:
33  // Disable default copy constructor
35  // Disable default assignment operator
37 
39  void build(const TrackingParticle& iData,
40  unsigned int iIndex,
41  TEveElement& oItemHolder,
42  const FWViewContext*) override;
43 };
44 
46  unsigned int iIndex,
47  TEveElement& oItemHolder,
48  const FWViewContext*) {
49  TEveRecTrack t;
50  t.fBeta = 1.0;
51  t.fP = TEveVector(iData.px(), iData.py(), iData.pz());
52  t.fV = TEveVector(iData.vx(), iData.vy(), iData.vz());
53  t.fSign = iData.charge();
54 
55  TEveTrack* track = new TEveTrack(&t, context().getTrackPropagator());
56  if (t.fSign == 0)
57  track->SetLineStyle(7);
58 
59  track->MakeTrack();
60  setupAddElement(track, &oItemHolder);
61 }
62 
65  "TrackingParticles",
const fireworks::Context & context() const
FWProxyBuilderConfiguration * getConfig() const
Definition: FWEventItem.h:150
static const int kAllRPZBits
Definition: FWViewType.h:67
const FWTrackingParticleProxyBuilder & operator=(const FWTrackingParticleProxyBuilder &)=delete
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
void setItem(const FWEventItem *iItem) override
double py() const
y coordinate of momentum vector. Note this is taken from the first SimTrack only. ...
static const int kAll3DBits
Definition: FWViewType.h:68
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.
double vy() const
y coordinate of parent vertex position
virtual void setItem(const FWEventItem *iItem)
FWGenericParameter< T > * assertParam(const std::string &name, T def)
#define REGISTER_PROXYBUILDER_METHODS()
double vx() const
x coordinate of parent vertex position
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
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