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 class VectorHit;
15 
16 class TkCloner {
17 public:
19  return hit.clone_(*this, tsos);
20  }
21 
22  virtual ~TkCloner() {}
23 #ifndef __GCCXML__
25  TrajectoryStateOnSurface const& tsos) const {
26  return hit->canImproveWithTrack() ? hit->cloneSH_(*this, tsos) : hit;
27  // return hit->cloneSH(*this, tsos);
28  }
29 #endif
30 
31  virtual std::unique_ptr<SiPixelRecHit> operator()(SiPixelRecHit const& hit,
32  TrajectoryStateOnSurface const& tsos) const = 0;
33  virtual std::unique_ptr<SiStripRecHit2D> operator()(SiStripRecHit2D const& hit,
34  TrajectoryStateOnSurface const& tsos) const = 0;
35  virtual std::unique_ptr<SiStripRecHit1D> operator()(SiStripRecHit1D const& hit,
36  TrajectoryStateOnSurface const& tsos) const = 0;
37  virtual std::unique_ptr<SiStripMatchedRecHit2D> operator()(SiStripMatchedRecHit2D const& hit,
38  TrajectoryStateOnSurface const& tsos) const = 0;
39  virtual std::unique_ptr<ProjectedSiStripRecHit2D> operator()(ProjectedSiStripRecHit2D const& hit,
40  TrajectoryStateOnSurface const& tsos) const = 0;
41  virtual std::unique_ptr<Phase2TrackerRecHit1D> operator()(Phase2TrackerRecHit1D const& hit,
42  TrajectoryStateOnSurface const& tsos) const = 0;
43  virtual std::unique_ptr<VectorHit> operator()(VectorHit const& hit, TrajectoryStateOnSurface const& tsos) const = 0;
44 
45 #ifndef __GCCXML__
47  TrajectoryStateOnSurface const& tsos) const = 0;
49  TrajectoryStateOnSurface const& tsos) const = 0;
51  TrajectoryStateOnSurface const& tsos) const = 0;
53  TrajectoryStateOnSurface const& tsos) const = 0;
55  TrajectoryStateOnSurface const& tsos) const = 0;
57  TrajectoryStateOnSurface const& tsos) const = 0;
59  TrajectoryStateOnSurface const& tsos) const = 0;
60 #endif
61 };
62 #endif
TrackingRecHit TrajectoryStateOnSurface const &tsos const
Definition: TkCloner.h:18
TrackingRecHit * operator()(TrackingRecHit const &hit
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
virtual ~TkCloner()
Definition: TkCloner.h:22
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
#define CMS_THREAD_SAFE
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:24
Our base class.
Definition: SiPixelRecHit.h:23