/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoMuon/TransientTrackingRecHit/src/MuonTransientTrackingRecHitBuilder.cc
45 строк
2 KB
Cms Build
Clang-Format
24 май 2019, 00:16
24 май 2019, 00:16
876d1ce
Код
Авторство
О чём код?
/** * Class: MuonTransientTrackingRecHitBuilder * * Description: * * * * Authors : * A. Everett Purdue University * **/ #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHitBuilder.h" #include "RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h" MuonTransientTrackingRecHitBuilder::MuonTransientTrackingRecHitBuilder( edm::ESHandle<GlobalTrackingGeometry> trackingGeometry) : theTrackingGeometry(trackingGeometry) {} MuonTransientTrackingRecHitBuilder::RecHitPointer MuonTransientTrackingRecHitBuilder::build( const TrackingRecHit* p, edm::ESHandle<GlobalTrackingGeometry> trackingGeometry) const { if (p->geographicalId().det() == DetId::Muon) { return MuonTransientTrackingRecHit::specificBuild(trackingGeometry->idToDet(p->geographicalId()), p); } return RecHitPointer(); } MuonTransientTrackingRecHitBuilder::RecHitPointer MuonTransientTrackingRecHitBuilder::build( const TrackingRecHit* p) const { if (theTrackingGeometry.isValid()) return build(p, theTrackingGeometry); else throw cms::Exception("Muon|RecoMuon|MuonTransientTrackingRecHitBuilder") << "ERROR! You are trying to build a MuonTransientTrackingRecHit with a non valid GlobalTrackingGeometry"; } MuonTransientTrackingRecHitBuilder::ConstRecHitContainer MuonTransientTrackingRecHitBuilder::build( const trackingRecHit_iterator& start, const trackingRecHit_iterator& stop) const { ConstRecHitContainer result; for (trackingRecHit_iterator hit = start; hit != stop; ++hit) result.push_back(build(&**hit)); return result; }