CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackTransformer.h
Go to the documentation of this file.
1 #ifndef TrackingTools_TrackRefitter_TrackTransformer_H
2 #define TrackingTools_TrackRefitter_TrackTransformer_H
3 
17 
19 
21 
26 
28 
29 namespace edm {class ParameterSet; class EventSetup;}
30 namespace reco {class TransientTrack;}
31 
32 class TrajectoryFitter;
33 class TrajectorySmoother;
34 class Propagator;
36 class Trajectory;
37 
39 
40 public:
41 
44 
46  virtual ~TrackTransformer();
47 
48  // Operations
49 
51  virtual std::vector<Trajectory> transform(const reco::Track&) const;
52 
54  std::vector<Trajectory> transform(const reco::TrackRef&) const;
55 
57  std::vector<Trajectory> transform(const reco::TransientTrack&,
59 
61  const MagneticField* magneticField() const {return &*theMGField;}
62 
65 
67  virtual void setServices(const edm::EventSetup&);
68 
70  std::unique_ptr<TrajectoryFitter> const & refitter() const {return theFitter;}
71 
73  std::unique_ptr<TrajectorySmoother> const & smoother() const {return theSmoother;}
74 
76  getTransientRecHits(const reco::TransientTrack& track) const;
77 
78  protected:
79 
80  private:
81 
85 
86  unsigned long long theCacheId_TC;
87  unsigned long long theCacheId_GTG;
88  unsigned long long theCacheId_MG;
89  unsigned long long theCacheId_TRH;
90 
92 
95 
98 
100  std::unique_ptr<TrajectoryFitter> theFitter;
101 
103  std::unique_ptr<TrajectorySmoother> theSmoother;
104 
107 
108  // void reorder(TransientTrackingRecHit::ConstRecHitContainer& recHits) const;
109 
113 
116 };
117 #endif
118 
const MagneticField * magneticField() const
the magnetic field
std::string theFitterName
RefitDirection::GeometricalDirection checkRecHitsOrdering(TransientTrackingRecHit::ConstRecHitContainer &) const
std::unique_ptr< TrajectoryFitter > const & refitter() const
the refitter used to refit the reco::Track
std::string thePropagatorName
std::string theSmootherName
unsigned long long theCacheId_TRH
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
edm::ESHandle< Propagator > thePropagator
unsigned long long theCacheId_MG
TransientTrackingRecHit::ConstRecHitContainer getTransientRecHits(const reco::TransientTrack &track) const
edm::ESHandle< Propagator > propagator() const
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
std::unique_ptr< TrajectoryFitter > theFitter
unsigned long long theCacheId_TC
edm::ESHandle< MagneticField > theMGField
RefitDirection theRefitDirection
virtual void setServices(const edm::EventSetup &)
set the services needed by the TrackTransformer
unsigned long long theCacheId_GTG
edm::ESHandle< TransientTrackingRecHitBuilder > theTrackerRecHitBuilder
std::vector< ConstRecHitPointer > ConstRecHitContainer
std::unique_ptr< TrajectorySmoother > const & smoother() const
the smoother used to smooth the trajectory which came from the refitting step
TkClonerImpl hitCloner
virtual std::vector< Trajectory > transform(const reco::Track &) const
Convert a reco::Track into Trajectory.
virtual ~TrackTransformer()
Destructor.
edm::ESHandle< GlobalTrackingGeometry > trackingGeometry() const
the tracking geometry
std::string theTrackerRecHitBuilderName
std::string theMuonRecHitBuilderName
std::unique_ptr< TrajectorySmoother > theSmoother
TrackTransformer(const edm::ParameterSet &)
Constructor.