CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TkCloner.h
Go to the documentation of this file.
1 #ifndef TKClonerRecHit_H
2 #define TKClonerRecHit_H
3 
4 #include <memory>
8 
9 class SiPixelRecHit;
10 class SiStripRecHit2D;
11 class SiStripRecHit1D;
12 class SiStripMatchedRecHit2D;
13 class ProjectedSiStripRecHit2D;
14 
15 class TkCloner {
16 public:
18  return hit.clone(*this, tsos);
19  }
20 
21 #ifdef NO_DICT
23  return hit->canImproveWithTrack() ? hit->cloneSH(*this, tsos) : hit;
24  // return hit->cloneSH(*this, tsos);
25  }
26 #endif
27 
28  virtual std::unique_ptr<SiPixelRecHit> operator()(SiPixelRecHit const & hit, TrajectoryStateOnSurface const& tsos) const=0;
29  virtual std::unique_ptr<SiStripRecHit2D> operator()(SiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
30  virtual std::unique_ptr<SiStripRecHit1D> operator()(SiStripRecHit1D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
31  virtual std::unique_ptr<SiStripMatchedRecHit2D> operator()(SiStripMatchedRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
32  virtual std::unique_ptr<ProjectedSiStripRecHit2D> operator()(ProjectedSiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
33 
34 #ifdef NO_DICT
35  virtual TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const & hit, TrajectoryStateOnSurface const& tsos) const=0;
36  virtual TrackingRecHit::ConstRecHitPointer makeShared(SiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
37  virtual TrackingRecHit::ConstRecHitPointer makeShared(SiStripRecHit1D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
38  virtual TrackingRecHit::ConstRecHitPointer makeShared(SiStripMatchedRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
39  virtual TrackingRecHit::ConstRecHitPointer makeShared(ProjectedSiStripRecHit2D const & hit, TrajectoryStateOnSurface const& tsos) const=0;
40 #endif
41 
42 };
43 #endif
TrackingRecHit TrajectoryStateOnSurface const &tsos const
Definition: TkCloner.h:17
TrackingRecHit * operator() CMS_THREAD_SAFE(TrackingRecHit const &hit
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
#define CMS_THREAD_SAFE
Pixel Reconstructed Hit.