CMS 3D CMS Logo

Phase2TrackerRecHit1D.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_TRACKERRECHIT2D_PHASE2TRACKERRECHIT1D_H
2 #define DATAFORMATS_TRACKERRECHIT2D_PHASE2TRACKERRECHIT1D_H
3 
5 
7 
8 #include "TkCloner.h"
9 
10 
12 
13 public:
14 
16 
18 
19  ~Phase2TrackerRecHit1D() override {}
20 
22  GeomDet const & idet,
23  CluRef const& clus) : TrackerSingleRecHit(pos,err,idet,clus){}
24 
25  Phase2TrackerRecHit1D * clone() const override { return new Phase2TrackerRecHit1D( * this); }
26  RecHitPointer cloneSH() const override { return std::make_shared<Phase2TrackerRecHit1D>(*this);}
27 
28  CluRef cluster() const { return cluster_phase2OT(); }
29  void setClusterRef(CluRef const & ref) {setClusterPhase2Ref(ref);}
30 
31  bool isPhase2() const override { return true; }
32  //FIXME::check dimension of this!!
33  int dimension() const override {return 2;}
34  void getKfComponents( KfComponentsHolder & holder ) const override { getKfComponents2D(holder); }
35 
36  bool canImproveWithTrack() const override {return true;}
37 
38 private:
39  // double dispatch
40  Phase2TrackerRecHit1D * clone_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
41  return cloner(*this,tsos).release();
42  }
43  RecHitPointer cloneSH_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
44  return cloner.makeShared(*this,tsos);
45  }
46 };
47 
49 
50 #endif
Phase2TrackerRecHit1D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, CluRef const &clus)
Phase2TrackerRecHit1D * clone_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
edmNew::DetSetVector< Phase2TrackerRecHit1D > Phase2TrackerRecHit1DCollectionNew
RecHitPointer cloneSH() const override
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:23
bool canImproveWithTrack() const override
ClusterPhase2Ref cluster_phase2OT() const
void getKfComponents2D(KfComponentsHolder &holder) const
Phase2TrackerRecHit1D * clone() const override
int dimension() const override
void setClusterRef(CluRef const &ref)
bool isPhase2() const override
std::shared_ptr< TrackingRecHit const > RecHitPointer
RecHitPointer cloneSH_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
void setClusterPhase2Ref(ClusterPhase2Ref const &ref)
OmniClusterRef::Phase2Cluster1DRef CluRef
void getKfComponents(KfComponentsHolder &holder) const override