The SpacePointPerLayerSplitter takes a set of spacepoints already sorted by layer Identifier (see MuonSpacePoint/SpacePointPerLayerSorter.h) and splits them into two sets of hits, one for MDT hits and the other one for strip detector hits.
More...
#include <SpacePointPerLayerSplitter.h>
The SpacePointPerLayerSplitter takes a set of spacepoints already sorted by layer Identifier (see MuonSpacePoint/SpacePointPerLayerSorter.h) and splits them into two sets of hits, one for MDT hits and the other one for strip detector hits.
Each of these set contains the hits grouped by Layer Identifier.
Definition at line 18 of file SpacePointPerLayerSplitter.h.
◆ HitLayVec
◆ HitVec
◆ SpacePointPerLayerSplitter() [1/2]
| MuonR4::SpacePointPerLayerSplitter::SpacePointPerLayerSplitter |
( |
const SpacePointBucket & | bucket | ) |
|
Constructor taking a complete bucket.
Definition at line 13 of file SpacePointPerLayerSplitter.cxx.
13 :
SpacePointPerLayerSplitter(const SpacePointBucket &bucket)
Constructor taking a complete bucket.
◆ SpacePointPerLayerSplitter() [2/2]
| MuonR4::SpacePointPerLayerSplitter::SpacePointPerLayerSplitter |
( |
const HitVec & | vec | ) |
|
Constructor taking a subset of SpacePoints.
Definition at line 16 of file SpacePointPerLayerSplitter.cxx.
16 {
18 return;
19 }
20 const Muon::IMuonIdHelperSvc* idHelperSvc {
hits.front()->msSector()->idHelperSvc()};
21 const SpacePointPerLayerSorter laySorter{};
22
23 HitVec::const_iterator itr =
hits.begin();
24
25 while (itr !=
hits.end()) {
26 const std::size_t refLay = laySorter.sectorLayerNum(**itr);
27
28 HitVec::const_iterator end_insert = std::find_if(itr,
hits.end(),[&refLay,&laySorter](
const SpacePoint* testMe) {
29 return refLay != laySorter.sectorLayerNum(*testMe);
30 });
31
34 if (isMdt && !pushMe.empty()){
35 const MdtIdHelper& idHelper = idHelperSvc->
mdtIdHelper();
36 if (idHelper.
multilayer((*itr)->identify()) != idHelper.
multilayer(pushMe.back().front()->identify())) {
38 }
39 }
40
42 itr = end_insert;
43 }
44 }
int multilayer(const Identifier &id) const
Access to components of the ID.
std::vector< HitVec > HitLayVec
std::size_t m_tubeLaySwitch
Index of the first tube-layer from the second multilayer.
HitLayVec m_mdtLayers
Sorted Mdt hits per tube layer.
HitLayVec m_stripLayers
Sorted Strip hits per gasGap strip.
std::size_t m_nMdtHits
Number of all Mdt tube hits.
std::size_t m_nStripHits
Number of all strip hits.
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
◆ firstLayerFrom2ndMl()
| std::size_t MuonR4::SpacePointPerLayerSplitter::firstLayerFrom2ndMl |
( |
| ) |
const |
|
inline |
◆ mdtHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::mdtHits |
( |
| ) |
const |
|
inline |
◆ nMdtHits()
| std::size_t MuonR4::SpacePointPerLayerSplitter::nMdtHits |
( |
| ) |
const |
|
inline |
◆ nStripHits()
| std::size_t MuonR4::SpacePointPerLayerSplitter::nStripHits |
( |
| ) |
const |
|
inline |
◆ strawHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::strawHits |
( |
| ) |
const |
|
inline |
◆ stripHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::stripHits |
( |
| ) |
const |
|
inline |
◆ m_mdtLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_mdtLayers {} |
|
private |
◆ m_nMdtHits
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_nMdtHits {0} |
|
private |
◆ m_nStripHits
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_nStripHits {0} |
|
private |
◆ m_stripLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_stripLayers {} |
|
private |
◆ m_tubeLaySwitch
| std::size_t MuonR4::SpacePointPerLayerSplitter::m_tubeLaySwitch {std::numeric_limits<std::size_t>::max()} |
|
private |
The documentation for this class was generated from the following files: