CMS 3D CMS Logo

GenericTransientTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef GenericTransientTrackingRecHit_H
2 #define GenericTransientTrackingRecHit_H
3 
6 
8 public:
10 
12 
13  AlgebraicVector parameters() const override { return trackingRecHit_->parameters(); }
16  int dimension() const override { return trackingRecHit_->dimension(); }
17 
18  // virtual void getKfComponents( KfComponentsHolder & holder ) const override { trackingRecHit_->getKfComponents(holder); }
19  // NO, because someone might specialize parametersError, projectionMatrix or parameters in the transient rechit
20  // and in fact this happens for alignment
21 
22  LocalPoint localPosition() const override { return trackingRecHit_->localPosition(); }
24 
25  bool canImproveWithTrack() const override { return false; }
26 
27  const TrackingRecHit* hit() const override { return trackingRecHit_; }
28  TrackingRecHit* cloneHit() const override { return hit()->clone(); }
29 
30  std::vector<const TrackingRecHit*> recHits() const override {
31  return ((const TrackingRecHit*)(trackingRecHit_))->recHits();
32  }
33  std::vector<TrackingRecHit*> recHits() override { return trackingRecHit_->recHits(); }
34 
35  static RecHitPointer build(const GeomDet* geom, const TrackingRecHit* rh) {
37  }
38 
39 protected:
40  // private constructors enforce usage of builders
42  trackingRecHit_ = rh.clone();
43  }
44 
48 
51  trackingRecHit_ = other.cloneHit();
52  }
53 
55 
56 private:
57  // should not have assignment operator (?)
59  trackingRecHit_ = t.cloneHit();
60  return *(this);
61  }
62 
63  // hide the clone method for ReferenceCounted. Warning: this method is still
64  // accessible via the bas class TrackingRecHit interface!
65  GenericTransientTrackingRecHit* clone() const override { return new GenericTransientTrackingRecHit(*this); }
66 };
67 
68 #endif
GenericTransientTrackingRecHit::canImproveWithTrack
bool canImproveWithTrack() const override
Definition: GenericTransientTrackingRecHit.h:25
GenericTransientTrackingRecHit::trackingRecHit_
TrackingRecHit * trackingRecHit_
Definition: GenericTransientTrackingRecHit.h:54
GeomDet
Definition: GeomDet.h:27
TrackingRecHit::parameters
virtual AlgebraicVector parameters() const =0
GenericTransientTrackingRecHit::dimension
int dimension() const override
Definition: GenericTransientTrackingRecHit.h:16
AlgebraicObjects.h
TrackingRecHit::det
const GeomDet * det() const
Definition: TrackingRecHit.h:122
GenericTransientTrackingRecHit::~GenericTransientTrackingRecHit
~GenericTransientTrackingRecHit() override
Definition: GenericTransientTrackingRecHit.h:11
GenericTransientTrackingRecHit::Type
TrackingRecHit::Type Type
Definition: GenericTransientTrackingRecHit.h:9
GenericTransientTrackingRecHit
Definition: GenericTransientTrackingRecHit.h:7
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
GenericTransientTrackingRecHit::localPositionError
LocalError localPositionError() const override
Definition: GenericTransientTrackingRecHit.h:23
TrackingRecHit::localPosition
virtual LocalPoint localPosition() const =0
GenericTransientTrackingRecHit::operator=
GenericTransientTrackingRecHit & operator=(const GenericTransientTrackingRecHit &t)
Definition: GenericTransientTrackingRecHit.h:58
GenericTransientTrackingRecHit::hit
const TrackingRecHit * hit() const override
Definition: GenericTransientTrackingRecHit.h:27
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
GenericTransientTrackingRecHit::projectionMatrix
AlgebraicMatrix projectionMatrix() const override
Definition: GenericTransientTrackingRecHit.h:15
TrackingRecHit::Type
Type
Definition: TrackingRecHit.h:45
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
trackingPlots.other
other
Definition: trackingPlots.py:1465
Point3DBase< float, LocalTag >
OrderedSet.t
t
Definition: OrderedSet.py:90
GenericTransientTrackingRecHit::clone
GenericTransientTrackingRecHit * clone() const override
Definition: GenericTransientTrackingRecHit.h:65
GenericTransientTrackingRecHit::GenericTransientTrackingRecHit
GenericTransientTrackingRecHit(const GeomDet &geom, const TrackingRecHit &rh)
Definition: GenericTransientTrackingRecHit.h:41
GenericTransientTrackingRecHit::GenericTransientTrackingRecHit
GenericTransientTrackingRecHit(const GeomDet &geom, TrackingRecHit *rh)
for derived classes convenience, does not clone!
Definition: GenericTransientTrackingRecHit.h:46
GenericTransientTrackingRecHit::parametersError
AlgebraicSymMatrix parametersError() const override
Definition: GenericTransientTrackingRecHit.h:14
LocalError
Definition: LocalError.h:12
GenericTransientTrackingRecHit::cloneHit
TrackingRecHit * cloneHit() const override
Definition: GenericTransientTrackingRecHit.h:28
GenericTransientTrackingRecHit::GenericTransientTrackingRecHit
GenericTransientTrackingRecHit(const GenericTransientTrackingRecHit &other)
Definition: GenericTransientTrackingRecHit.h:49
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
GenericTransientTrackingRecHit::parameters
AlgebraicVector parameters() const override
Definition: GenericTransientTrackingRecHit.h:13
TrackingRecHit::projectionMatrix
virtual AlgebraicMatrix projectionMatrix() const =0
TrackingRecHit::clone
virtual TrackingRecHit * clone() const =0
TrackingRecHit::recHits
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
TrackingRecHit
Definition: TrackingRecHit.h:21
GenericTransientTrackingRecHit::recHits
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
Definition: GenericTransientTrackingRecHit.h:33
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
GenericTransientTrackingRecHit::recHits
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
Definition: GenericTransientTrackingRecHit.h:30
TrackingRecHit::dimension
virtual int dimension() const =0
TValidTrackingRecHit
Definition: TValidTrackingRecHit.h:12
TrackingRecHit::parametersError
virtual AlgebraicSymMatrix parametersError() const =0
GenericTransientTrackingRecHit::build
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
Definition: GenericTransientTrackingRecHit.h:35
TValidTrackingRecHit.h
TrackingRecHit::localPositionError
virtual LocalError localPositionError() const =0
GenericTransientTrackingRecHit::localPosition
LocalPoint localPosition() const override
Definition: GenericTransientTrackingRecHit.h:22