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 
19 
21 
23 
27 
29 
30 namespace edm {class ParameterSet; class EventSetup;}
31 namespace reco {class TransientTrack;}
32 
33 class TrajectoryFitter;
34 class TrajectorySmoother;
35 class Propagator;
37 class Trajectory;
38 
40 
41 public:
42 
45 
47  virtual ~TrackTransformer();
48 
49  // Operations
50 
52  virtual std::vector<Trajectory> transform(const reco::Track&) const;
53 
55  std::vector<Trajectory> transform(const reco::TrackRef&) const;
56 
58  std::vector<Trajectory> transform(const reco::TransientTrack,
60 
62  const MagneticField* magneticField() const {return &*theMGField;}
63 
66 
68  virtual void setServices(const edm::EventSetup&);
69 
72 
75 
77  getTransientRecHits(const reco::TransientTrack& track) const;
78 
79  protected:
80 
81  private:
82 
83  std::string thePropagatorName;
86 
87  unsigned long long theCacheId_TC;
88  unsigned long long theCacheId_GTG;
89  unsigned long long theCacheId_MG;
90  unsigned long long theCacheId_TRH;
91 
93 
96 
99 
100  std::string theFitterName;
102 
103  std::string theSmootherName;
105 
108 
109  // void reorder(TransientTrackingRecHit::ConstRecHitContainer& recHits) const;
110 
113 
116 };
117 #endif
118 
edm::ESHandle< TrajectorySmoother > smoother() const
the smoother used to smooth the trajectory which came from the refitting step
const MagneticField * magneticField() const
the magnetic field
edm::ESHandle< TrajectoryFitter > theFitter
std::string theFitterName
RefitDirection::GeometricalDirection checkRecHitsOrdering(TransientTrackingRecHit::ConstRecHitContainer &) const
edm::ESHandle< TrajectorySmoother > theSmoother
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
unsigned long long theCacheId_TC
edm::ESHandle< MagneticField > theMGField
RefitDirection theRefitDirection
edm::ESHandle< TrajectoryFitter > refitter() const
the refitter used to refit the reco::Track
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
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
TrackTransformer(const edm::ParameterSet &)
Constructor.