/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoTracker/MkFit/interface/MkFitGeometry.h
50 строк
2 KB
Matevz Tadel
Implementation of mkFit for Phase-2 initialStep iteration in CMSSW
11 апр 2024, 15:57
11 апр 2024, 15:57
8155977
Код
Авторство
О чём код?
#ifndef RecoTracker_MkFit_MkFitGeometry_h #define RecoTracker_MkFit_MkFitGeometry_h #include "DataFormats/DetId/interface/DetId.h" #include "RecoTracker/MkFitCore/interface/TrackerInfo.h" #include <memory> #include <unordered_map> #include <vector> namespace mkfit { class LayerNumberConverter; } // namespace mkfit class DetLayer; class GeometricSearchTracker; class TrackerGeometry; class TrackerTopology; /** * Collection of geometry-related objects for mkFit */ class MkFitGeometry { public: explicit MkFitGeometry(const TrackerGeometry& geom, const GeometricSearchTracker& tracker, const TrackerTopology& ttopo, std::unique_ptr<mkfit::TrackerInfo> trackerInfo, const mkfit::LayerNumberConverter& layNConv); ~MkFitGeometry(); int mkFitLayerNumber(DetId detId) const; mkfit::LayerNumberConverter const& layerNumberConverter() const { return *lnc_; } bool isPhase1() const; bool isPhase2() const; mkfit::TrackerInfo const& trackerInfo() const { return *trackerInfo_; } const std::vector<const DetLayer*>& detLayers() const { return dets_; } unsigned int uniqueIdInLayer(int layer, unsigned int detId) const { return trackerInfo_->layer(layer).short_id(detId); } const TrackerTopology* topology() const { return ttopo_; } private: const TrackerTopology* ttopo_; std::unique_ptr<mkfit::LayerNumberConverter> lnc_; // for pimpl pattern std::unique_ptr<mkfit::TrackerInfo> trackerInfo_; std::vector<const DetLayer*> dets_; }; #endif