CMS 3D CMS Logo

SiStripRecHit1D.h
Go to the documentation of this file.
1 #ifndef SiStripRecHit1D_H
2 #define SiStripRecHit1D_H
3 
5 
6 #include "TkCloner.h"
7 
8 class SiStripRecHit1D final : public TrackerSingleRecHit {
9 public:
11 
13 
14  template <typename CluRef>
15  SiStripRecHit1D(const LocalPoint& p, const LocalError& e, GeomDet const& idet, CluRef const& clus)
16  : TrackerSingleRecHit(p, e, idet, clus) {}
17 
18  ClusterRef cluster() const { return cluster_strip(); }
19  void setClusterRef(ClusterRef const& ref) { setClusterStripRef(ref); }
20 
21  SiStripRecHit1D* clone() const override { return new SiStripRecHit1D(*this); }
22 #ifndef __GCCXML__
23  RecHitPointer cloneSH() const override { return std::make_shared<SiStripRecHit1D>(*this); }
24 #endif
25 
26  int dimension() const override { return 1; }
27  void getKfComponents(KfComponentsHolder& holder) const override { getKfComponents1D(holder); }
28 
29  bool canImproveWithTrack() const override { return true; }
30 
31 private:
32  // double dispatch
33  SiStripRecHit1D* clone_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
34  return cloner(*this, tsos).release();
35  }
36 #ifndef __GCCXML__
37  RecHitPointer cloneSH_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
38  return cloner.makeShared(*this, tsos);
39  }
40 #endif
41 };
42 
43 #endif
GeomDet
Definition: GeomDet.h:27
SiStripRecHit1D::canImproveWithTrack
bool canImproveWithTrack() const override
Definition: SiStripRecHit1D.h:29
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
edm::Ref
Definition: AssociativeIterator.h:58
SiStripRecHit1D::SiStripRecHit1D
SiStripRecHit1D(const LocalPoint &p, const LocalError &e, GeomDet const &idet, CluRef const &clus)
Definition: SiStripRecHit1D.h:15
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
SiStripRecHit1D::cloneSH
RecHitPointer cloneSH() const override
Definition: SiStripRecHit1D.h:23
TkCloner
Definition: TkCloner.h:16
SiStripRecHit1D::cloneSH_
RecHitPointer cloneSH_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: SiStripRecHit1D.h:37
SiStripRecHit1D::getKfComponents
void getKfComponents(KfComponentsHolder &holder) const override
Definition: SiStripRecHit1D.h:27
Point3DBase< float, LocalTag >
TrackerSingleRecHit::cluster_strip
ClusterStripRef cluster_strip() const
Definition: TrackerSingleRecHit.h:49
SiStripRecHit1D::SiStripRecHit1D
SiStripRecHit1D()
Definition: SiStripRecHit1D.h:10
SiStripRecHit1D::setClusterRef
void setClusterRef(ClusterRef const &ref)
Definition: SiStripRecHit1D.h:19
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
LocalError
Definition: LocalError.h:12
TkCloner.h
SiStripRecHit1D::clone
SiStripRecHit1D * clone() const override
Definition: SiStripRecHit1D.h:21
TkCloner::makeShared
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:24
SiStripRecHit1D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit1D.h:18
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
KfComponentsHolder
Definition: KfComponentsHolder.h:13
TrackerSingleRecHit::setClusterStripRef
void setClusterStripRef(ClusterStripRef const &ref)
Definition: TrackerSingleRecHit.h:65
TrackerSingleRecHit
Definition: TrackerSingleRecHit.h:11
SiStripRecHit1D::clone_
SiStripRecHit1D * clone_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: SiStripRecHit1D.h:33
SiStripRecHit1D::ClusterRef
OmniClusterRef::ClusterStripRef ClusterRef
Definition: SiStripRecHit1D.h:12
TrackerSingleRecHit.h
SiStripRecHit1D::dimension
int dimension() const override
Definition: SiStripRecHit1D.h:26
BaseTrackerRecHit::getKfComponents1D
void getKfComponents1D(KfComponentsHolder &holder) const
Definition: BaseTrackerRecHit.cc:35
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37