00001 #ifndef _FWPFTRACKUTILS_H_ 00002 #define _FWPFTRACKUTILS_H_ 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: ParticleFlow 00007 // Class : FWPFTrackUtils 00008 // 00009 // Implementation: 00010 // <Notes on implementation> 00011 // 00012 // Original Author: Simon Harris 00013 // Created: 16/02/2011 00014 // 00015 00016 // System include files 00017 #include "TEveTrack.h" 00018 #include "TEvePointSet.h" 00019 #include "TEveStraightLineSet.h" 00020 00021 // User include files 00022 #include "Fireworks/Tracks/interface/TrackUtils.h" 00023 #include "Fireworks/Tracks/interface/estimate_field.h" 00024 #include "Fireworks/ParticleFlow/interface/FWPFUtils.h" 00025 00026 #include "DataFormats/TrackReco/interface/Track.h" 00027 00028 //----------------------------------------------------------------------------- 00029 // FWPFTrackUtils 00030 //----------------------------------------------------------------------------- 00031 class FWPFTrackUtils 00032 { 00033 public: 00034 enum Type { LEGO=0, RPZ=1 }; 00035 00036 // ---------------- Constructor(s)/Destructor ---------------------- 00037 FWPFTrackUtils(){ m_trackUtils = new FWPFUtils(); m_trackUtils->initPropagator(); } 00038 virtual ~FWPFTrackUtils(){ delete m_trackUtils; } 00039 00040 // --------------------- Member Functions -------------------------- 00041 TEveStraightLineSet *setupLegoTrack( const reco::Track& ); 00042 TEveTrack *setupRPZTrack( const reco::Track& ); 00043 TEvePointSet *getCollisionMarkers( const TEveTrack* ); 00044 00045 private: 00046 FWPFTrackUtils( const FWPFTrackUtils& ); // Stop default copy constructor 00047 const FWPFTrackUtils& operator=( const FWPFTrackUtils& ); // Stop default assignment operator 00048 00049 // ----------------------- Data Members ---------------------------- 00050 FWPFUtils *m_trackUtils; 00051 }; 00052 #endif 00053 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_