CMS 3D CMS Logo

MkFitInputWrapper.h
Go to the documentation of this file.
1 #ifndef RecoTracker_MkFit_MkFitInputWrapper_h
2 #define RecoTracker_MkFit_MkFitInputWrapper_h
3 
5 
6 #include <memory>
7 #include <vector>
8 
9 namespace mkfit {
10  class Hit;
11  class Track;
12  class LayerNumberConverter;
13  using HitVec = std::vector<Hit>;
14  using TrackVec = std::vector<Track>;
15 } // namespace mkfit
16 
18 public:
21  std::vector<mkfit::HitVec>&& hits,
23  mkfit::LayerNumberConverter&& lnc);
25 
26  MkFitInputWrapper(MkFitInputWrapper const&) = delete;
30 
31  MkFitHitIndexMap const& hitIndexMap() const { return hitIndexMap_; }
32  mkfit::TrackVec const& seeds() const { return *seeds_; }
33  std::vector<mkfit::HitVec> const& hits() const { return hits_; }
34  mkfit::LayerNumberConverter const& layerNumberConverter() const { return *lnc_; }
35  unsigned int nlayers() const;
36 
37 private:
39  std::vector<mkfit::HitVec> hits_;
40  std::unique_ptr<mkfit::TrackVec> seeds_; // for pimpl pattern
41  std::unique_ptr<mkfit::LayerNumberConverter> lnc_; // for pimpl pattern
42 };
43 
44 #endif
Hit
Definition: SiPixelLorentzAngle.h:57
MkFitInputWrapper
Definition: MkFitInputWrapper.h:17
MkFitInputWrapper::hits_
std::vector< mkfit::HitVec > hits_
Definition: MkFitInputWrapper.h:39
MkFitInputWrapper::seeds_
std::unique_ptr< mkfit::TrackVec > seeds_
Definition: MkFitInputWrapper.h:40
MkFitInputWrapper::~MkFitInputWrapper
~MkFitInputWrapper()
mkfit
Definition: MkFitInputWrapper.h:9
MkFitInputWrapper::hits
std::vector< mkfit::HitVec > const & hits() const
Definition: MkFitInputWrapper.h:33
mkfit::TrackVec
std::vector< Track > TrackVec
Definition: MkFitInputWrapper.h:14
MkFitInputWrapper::hitIndexMap_
MkFitHitIndexMap hitIndexMap_
Definition: MkFitInputWrapper.h:38
MkFitInputWrapper::nlayers
unsigned int nlayers() const
Definition: MkFitInputWrapper.cc:24
MkFitInputWrapper::operator=
MkFitInputWrapper & operator=(MkFitInputWrapper const &)=delete
MkFitInputWrapper::seeds
mkfit::TrackVec const & seeds() const
Definition: MkFitInputWrapper.h:32
MkFitHitIndexMap
Definition: MkFitHitIndexMap.h:15
MkFitHitIndexMap.h
MkFitInputWrapper::hitIndexMap
MkFitHitIndexMap const & hitIndexMap() const
Definition: MkFitInputWrapper.h:31
mkfit::HitVec
std::vector< Hit > HitVec
Definition: MkFitInputWrapper.h:13
MkFitInputWrapper::lnc_
std::unique_ptr< mkfit::LayerNumberConverter > lnc_
Definition: MkFitInputWrapper.h:41
MkFitInputWrapper::MkFitInputWrapper
MkFitInputWrapper()
MkFitInputWrapper::layerNumberConverter
mkfit::LayerNumberConverter const & layerNumberConverter() const
Definition: MkFitInputWrapper.h:34