CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KFBasedPixelFitter.h
Go to the documentation of this file.
1 #ifndef KFBasedPixelFitter_H
2 #define KFBasedPixelFitter_H
3 
6 #include <vector>
9 
10 
11 namespace edm {class ParameterSet; class Event; class EventSetup;}
12 namespace reco { class Track; class BeamSpot; }
13 
15 class TrackerGeometry;
16 class MagneticField;
17 class TrackingRegion;
18 class TrackingRecHit;
19 
20 
22 public:
24  virtual ~KFBasedPixelFitter() {}
25  virtual reco::Track* run(
26  const edm::Event& ev,
27  const edm::EventSetup& es,
28  const std::vector<const TrackingRecHit *>& hits,
29  const TrackingRegion& region) const;
30 private:
31 
32  //this two simple classes are copied from Alignment/ReferenceTrajectories in order to avoid dependencies
33  class MyBeamSpotGeomDet GCC11_FINAL : public GeomDet {
34  public:
35  explicit MyBeamSpotGeomDet(const ReferenceCountingPointer<BoundPlane>& plane) :GeomDet(plane) { setDetId(0); }
36  virtual ~MyBeamSpotGeomDet() { }
38  virtual std::vector< const GeomDet*> components() const { return std::vector< const GeomDet*>(); }
39  };
40  class MyBeamSpotHit GCC11_FINAL : public TValidTrackingRecHit {
41  public:
42  MyBeamSpotHit (const reco::BeamSpot &beamSpot, const GeomDet * geom);
43  virtual ~MyBeamSpotHit(){}
44  virtual LocalPoint localPosition() const { return localPosition_; }
45  virtual LocalError localPositionError() const { return localError_; }
46  virtual AlgebraicVector parameters() const;
47  virtual AlgebraicSymMatrix parametersError() const;
48  virtual int dimension() const { return 1; }
49  virtual AlgebraicMatrix projectionMatrix() const;
50  virtual std::vector<const TrackingRecHit*> recHits() const { return std::vector<const TrackingRecHit*>(); }
51  virtual std::vector<TrackingRecHit*> recHits() { return std::vector<TrackingRecHit*>(); }
52  virtual const TrackingRecHit * hit() const { return 0; }
53  private:
56  virtual MyBeamSpotHit * clone() const { return new MyBeamSpotHit(*this); }
57  };
58 
59 
65 
66 
67 };
68 #endif
dictionary parameters
Definition: Parameters.py:2
std::string thePropagatorLabel
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
virtual MyBeamSpotHit * clone() const
virtual LocalPoint localPosition() const
CLHEP::HepMatrix AlgebraicMatrix
edm::InputTag theBeamSpot
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
virtual const TrackingRecHit * hit() const
MyBeamSpotGeomDet(const ReferenceCountingPointer< BoundPlane > &plane)
CLHEP::HepVector AlgebraicVector
virtual GeomDetEnumerators::SubDetector subDetector() const
Which subdetector.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual reco::Track * run(const edm::Event &ev, const edm::EventSetup &es, const std::vector< const TrackingRecHit * > &hits, const TrackingRegion &region) const
virtual std::vector< const GeomDet * > components() const
Returns direct components, if any.
std::string thePropagatorOppositeLabel
std::string theTTRHBuilderName
virtual LocalError localPositionError() const
Unlimited (trivial) bounds.