CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  std::unique_ptr<VectorHit> operator()(VectorHit const& hit, TrajectoryStateOnSurface const& tsos) const override;
37 
40  TrajectoryStateOnSurface const& tsos) const override;
42  TrajectoryStateOnSurface const& tsos) const override;
44  TrajectoryStateOnSurface const& tsos) const override;
46  TrajectoryStateOnSurface const& tsos) const override;
48  TrajectoryStateOnSurface const& tsos) const override;
50  TrajectoryStateOnSurface const& tsos) const override;
52  TrajectoryStateOnSurface const& tsos) const override;
53  // project either mono or stero hit...
54  std::unique_ptr<ProjectedSiStripRecHit2D> project(SiStripMatchedRecHit2D const& hit,
55  bool mono,
56  TrajectoryStateOnSurface const& tsos) const;
57 
58 private:
63 };
64 #endif
TkClonerImpl(const PixelClusterParameterEstimator *ipixelCPE, const ClusterParameterEstimator< Phase2TrackerCluster1D > *iPhase2OTCPE)
Definition: TkClonerImpl.h:19
const PixelClusterParameterEstimator * pixelCPE
Definition: TkClonerImpl.h:59
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:24
TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:64
const StripClusterParameterEstimator * stripCPE
Definition: TkClonerImpl.h:60
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::unique_ptr< SiPixelRecHit > operator()(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const override
Definition: TkClonerImpl.cc:27
TkClonerImpl(const PixelClusterParameterEstimator *ipixelCPE, const StripClusterParameterEstimator *istripCPE, const SiStripRecHitMatcher *iMatcher)
Definition: TkClonerImpl.h:15
const ClusterParameterEstimator< Phase2TrackerCluster1D > * phase2TrackerCPE
Definition: TkClonerImpl.h:62
const SiStripRecHitMatcher * theMatcher
Definition: TkClonerImpl.h:61
std::unique_ptr< ProjectedSiStripRecHit2D > project(SiStripMatchedRecHit2D const &hit, bool mono, TrajectoryStateOnSurface const &tsos) const
Our base class.
Definition: SiPixelRecHit.h:23