forked from cms-sw/cmssw
-
Notifications
You must be signed in to change notification settings - Fork 1
/
MkFitInputWrapper.h
44 lines (36 loc) · 1.39 KB
/
MkFitInputWrapper.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef RecoTracker_MkFit_MkFitInputWrapper_h
#define RecoTracker_MkFit_MkFitInputWrapper_h
#include "RecoTracker/MkFit/interface/MkFitHitIndexMap.h"
#include <memory>
#include <vector>
namespace mkfit {
class Hit;
class Track;
class LayerNumberConverter;
using HitVec = std::vector<Hit>;
using TrackVec = std::vector<Track>;
} // namespace mkfit
class MkFitInputWrapper {
public:
MkFitInputWrapper();
MkFitInputWrapper(MkFitHitIndexMap&& hitIndexMap,
std::vector<mkfit::HitVec>&& hits,
mkfit::TrackVec&& seeds,
mkfit::LayerNumberConverter&& lnc);
~MkFitInputWrapper();
MkFitInputWrapper(MkFitInputWrapper const&) = delete;
MkFitInputWrapper& operator=(MkFitInputWrapper const&) = delete;
MkFitInputWrapper(MkFitInputWrapper&&);
MkFitInputWrapper& operator=(MkFitInputWrapper&&);
MkFitHitIndexMap const& hitIndexMap() const { return hitIndexMap_; }
mkfit::TrackVec const& seeds() const { return *seeds_; }
std::vector<mkfit::HitVec> const& hits() const { return hits_; }
mkfit::LayerNumberConverter const& layerNumberConverter() const { return *lnc_; }
unsigned int nlayers() const;
private:
MkFitHitIndexMap hitIndexMap_;
std::vector<mkfit::HitVec> hits_;
std::unique_ptr<mkfit::TrackVec> seeds_; // for pimpl pattern
std::unique_ptr<mkfit::LayerNumberConverter> lnc_; // for pimpl pattern
};
#endif