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  TrajectoryStateOnSurface const& tsos) const {
25  return hit->canImproveWithTrack() ? hit->cloneSH_(*this, tsos) : hit;
26  // return hit->cloneSH(*this, tsos);
27  }
28 #endif
29 
30  virtual std::unique_ptr<SiPixelRecHit> operator()(SiPixelRecHit const& hit,
31  TrajectoryStateOnSurface const& tsos) const = 0;
32  virtual std::unique_ptr<SiStripRecHit2D> operator()(SiStripRecHit2D const& hit,
33  TrajectoryStateOnSurface const& tsos) const = 0;
34  virtual std::unique_ptr<SiStripRecHit1D> operator()(SiStripRecHit1D const& hit,
35  TrajectoryStateOnSurface const& tsos) const = 0;
36  virtual std::unique_ptr<SiStripMatchedRecHit2D> operator()(SiStripMatchedRecHit2D const& hit,
37  TrajectoryStateOnSurface const& tsos) const = 0;
38  virtual std::unique_ptr<ProjectedSiStripRecHit2D> operator()(ProjectedSiStripRecHit2D const& hit,
39  TrajectoryStateOnSurface const& tsos) const = 0;
40  virtual std::unique_ptr<Phase2TrackerRecHit1D> operator()(Phase2TrackerRecHit1D const& hit,
41  TrajectoryStateOnSurface const& tsos) const = 0;
42 
43 #ifndef __GCCXML__
45  TrajectoryStateOnSurface const& tsos) const = 0;
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;
56 #endif
57 };
58 #endif
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
TkCloner::operator
TrackingRecHit * operator()(TrackingRecHit const &hit
watchdog.const
const
Definition: watchdog.py:83
ProjectedSiStripRecHit2D
Definition: ProjectedSiStripRecHit2D.h:8
SiPixelRecHit
Our base class.
Definition: SiPixelRecHit.h:23
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TrackingRecHit.h
TkCloner
Definition: TkCloner.h:15
CMS_THREAD_SAFE
#define CMS_THREAD_SAFE
Definition: thread_safety_macros.h:4
TkCloner::~TkCloner
virtual ~TkCloner()
Definition: TkCloner.h:21
TkCloner::operator()
virtual std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
thread_safety_macros.h
TkCloner::tsos
TrackingRecHit TrajectoryStateOnSurface const &const tsos
Definition: TkCloner.h:17
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
TkCloner::makeShared
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:23
SiStripRecHit1D
Definition: SiStripRecHit1D.h:8
TrackingRecHit
Definition: TrackingRecHit.h:21
SiStripMatchedRecHit2D
Definition: SiStripMatchedRecHit2D.h:8
hit
Definition: SiStripHitEffFromCalibTree.cc:88
Phase2TrackerRecHit1D
Definition: Phase2TrackerRecHit1D.h:10