CMS 3D CMS Logo

TkClonerImpl.h
Go to the documentation of this file.
1 #ifndef TKClonerImplRecHit_H
2 #define TKClonerImplRecHit_H
3 
4 #include <memory>
7 
11 
12 class TkClonerImpl final : public TkCloner {
13 public:
16  const StripClusterParameterEstimator* istripCPE,
17  const SiStripRecHitMatcher* iMatcher)
18  : pixelCPE(ipixelCPE), stripCPE(istripCPE), theMatcher(iMatcher), phase2TrackerCPE(nullptr) {}
21  : pixelCPE(ipixelCPE), stripCPE(nullptr), theMatcher(nullptr), phase2TrackerCPE(iPhase2OTCPE) {}
22 
23  using TkCloner::operator();
24  std::unique_ptr<SiPixelRecHit> operator()(SiPixelRecHit const& hit,
25  TrajectoryStateOnSurface const& tsos) const override;
26  std::unique_ptr<SiStripRecHit2D> operator()(SiStripRecHit2D const& hit,
27  TrajectoryStateOnSurface const& tsos) const override;
28  std::unique_ptr<SiStripRecHit1D> operator()(SiStripRecHit1D const& hit,
29  TrajectoryStateOnSurface const& tsos) const override;
30  std::unique_ptr<SiStripMatchedRecHit2D> operator()(SiStripMatchedRecHit2D const& hit,
31  TrajectoryStateOnSurface const& tsos) const override;
32  std::unique_ptr<ProjectedSiStripRecHit2D> operator()(ProjectedSiStripRecHit2D const& hit,
33  TrajectoryStateOnSurface const& tsos) const override;
34  std::unique_ptr<Phase2TrackerRecHit1D> operator()(Phase2TrackerRecHit1D const& hit,
35  TrajectoryStateOnSurface const& tsos) const override;
36 
39  TrajectoryStateOnSurface const& tsos) const override;
41  TrajectoryStateOnSurface const& tsos) const override;
43  TrajectoryStateOnSurface const& tsos) const override;
45  TrajectoryStateOnSurface const& tsos) const override;
47  TrajectoryStateOnSurface const& tsos) const override;
49  TrajectoryStateOnSurface const& tsos) const override;
50 
51  // project either mono or stero hit...
52  std::unique_ptr<ProjectedSiStripRecHit2D> project(SiStripMatchedRecHit2D const& hit,
53  bool mono,
54  TrajectoryStateOnSurface const& tsos) const;
55 
56 private:
61 };
62 #endif
TkClonerImpl(const PixelClusterParameterEstimator *ipixelCPE, const ClusterParameterEstimator< Phase2TrackerCluster1D > *iPhase2OTCPE)
Definition: TkClonerImpl.h:19
#define nullptr
const PixelClusterParameterEstimator * pixelCPE
Definition: TkClonerImpl.h:57
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:23
TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:60
const StripClusterParameterEstimator * stripCPE
Definition: TkClonerImpl.h:58
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
TkClonerImpl(const PixelClusterParameterEstimator *ipixelCPE, const StripClusterParameterEstimator *istripCPE, const SiStripRecHitMatcher *iMatcher)
Definition: TkClonerImpl.h:15
const ClusterParameterEstimator< Phase2TrackerCluster1D > * phase2TrackerCPE
Definition: TkClonerImpl.h:60
const SiStripRecHitMatcher * theMatcher
Definition: TkClonerImpl.h:59
std::unique_ptr< ProjectedSiStripRecHit2D > project(SiStripMatchedRecHit2D const &hit, bool mono, TrajectoryStateOnSurface const &tsos) const
TrackingRecHit * operator()[[cms
Definition: TkCloner.h:17
Our base class.
Definition: SiPixelRecHit.h:23
std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:26