1 #ifndef Fireworks_Tracks_TrackUtils_h 2 #define Fireworks_Tracks_TrackUtils_h 10 #include "TEveVSDStructs.h" 22 class TEveTrackPropagator;
25 class TEveStraightLineSet;
40 position(pos), valid(
false) {
42 State(
const TEveVector&
pos,
const TEveVector& mom) :
43 position(pos), momentum(mom), valid(
true) {
51 m_direction = momentum;
52 m_direction.Normalize();
54 bool operator() (
const State& state1,
55 const State& state2 )
const {
56 double product1 = state1.
position.Perp()*(state1.
position.fX*m_direction.fX + state1.
position.fY*m_direction.fY>0 ? 1 : -1);
57 double product2 = state2.
position.Perp()*(state2.
position.fX*m_direction.fX + state2.
position.fY*m_direction.fY>0 ? 1 : -1);
58 return product1 < product2;
64 const std::vector<TEveVector>& extraRefPoints = std::vector<TEveVector>() );
66 float pixelLocalX(
const double mpx,
const float* );
67 float pixelLocalY(
const double mpy,
const float* );
69 void localSiStrip(
short strip,
float* localTop,
float* localBottom,
const float* pars,
unsigned int id );
87 #endif // Fireworks_Tracks_TrackUtils_h State(const TEveVector &pos)
Master< F > master(const F &f)
TEveTrack * prepareTrack(const reco::Track &track, TEveTrackPropagator *propagator, const std::vector< TEveVector > &extraRefPoints=std::vector< TEveVector >())
void localSiStrip(short strip, float *localTop, float *localBottom, const float *pars, unsigned int id)
State(const TEveVector &pos, const TEveVector &mom)
const SiStripCluster * extractClusterFromTrackingRecHit(const TrackingRecHit *rh)
void pushPixelHits(std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
float pixelLocalX(const double mpx, const float *)
void addSiStripClusters(const FWEventItem *iItem, const reco::Track &t, class TEveElement *tList, bool addNearbyClusters, bool master)
float pixelLocalY(const double mpy, const float *)
StateOrdering(const TEveVector &momentum)
Pixel cluster – collection of neighboring pixels above threshold.
void pushNearbyPixelHits(std::vector< TVector3 > &pixelPoints, const FWEventItem &iItem, const reco::Track &t)
void pushPixelCluster(std::vector< TVector3 > &pixelPoints, const FWGeometry &geom, DetId id, const SiPixelCluster &c, const float *pars)