CMS 3D CMS Logo

TkCloner.h
Go to the documentation of this file.
1 #ifndef TKClonerRecHit_H
2 #define TKClonerRecHit_H
3 
4 #include <memory>
7 
8 class SiPixelRecHit;
9 class SiStripRecHit2D;
10 class SiStripRecHit1D;
14 
15 class TkCloner {
16 public:
18  return hit.clone_(*this, tsos);
19  }
20 
21  virtual ~TkCloner() {}
22 #ifndef __GCCXML__
24  return hit->canImproveWithTrack() ? hit->cloneSH_(*this, tsos) : hit;
25  // return hit->cloneSH(*this, tsos);
26  }
27 #endif
28 
29  virtual std::unique_ptr<SiPixelRecHit> operator()(SiPixelRecHit const & hit, TrajectoryStateOnSurface const& tsos) const=0;
30  virtual std::unique_ptr<SiStripRecHit2D> operator()(SiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
31  virtual std::unique_ptr<SiStripRecHit1D> operator()(SiStripRecHit1D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
32  virtual std::unique_ptr<SiStripMatchedRecHit2D> operator()(SiStripMatchedRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
33  virtual std::unique_ptr<ProjectedSiStripRecHit2D> operator()(ProjectedSiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
34  virtual std::unique_ptr<Phase2TrackerRecHit1D> operator()(Phase2TrackerRecHit1D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
35 
36 #ifndef __GCCXML__
43 #endif
44 
45 };
46 #endif
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:23
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
#define CMS_THREAD_SAFE
TrackingRecHit * operator()[[cms
Definition: TkCloner.h:17
Our base class.
Definition: SiPixelRecHit.h:23