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 16 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 {
17 if (
hits.empty())
return;
18
19 const Muon::IMuonIdHelperSvc* idHelperSvc {
hits.front()->msSector()->idHelperSvc()};
20 const MdtIdHelper& idHelper {idHelperSvc->
mdtIdHelper()};
21 const SpacePointPerLayerSorter laySorter{};
22
23 HitVec::const_iterator itr =
hits.begin();
24
25 while (itr !=
hits.end()) {
26 const unsigned int 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 if (idHelper.
multilayer((*itr)->identify()) != idHelper.
multilayer(pushMe.back().front()->identify())) {
37 }
38 }
39
41 itr = end_insert;
42 }
43 }
int multilayer(const Identifier &id) const
Access to components of the ID.
std::vector< HitVec > HitLayVec
unsigned int m_nMdtHits
Number of all Mdt tube hits.
HitLayVec m_mdtLayers
Sorted Mdt hits per tube layer.
HitLayVec m_stripLayers
Sorted Strip hits per gasGap strip.
unsigned int m_nStripHits
Number of all strip hits.
unsigned int m_tubeLaySwitch
Index of the first tube-layer from the second multilayer.
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
◆ firstLayerFrom2ndMl()
| unsigned int MuonR4::SpacePointPerLayerSplitter::firstLayerFrom2ndMl |
( |
| ) |
const |
|
inline |
◆ mdtHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::mdtHits |
( |
| ) |
const |
|
inline |
◆ nMdtHits()
| unsigned int MuonR4::SpacePointPerLayerSplitter::nMdtHits |
( |
| ) |
const |
|
inline |
◆ nStripHits()
| unsigned int MuonR4::SpacePointPerLayerSplitter::nStripHits |
( |
| ) |
const |
|
inline |
◆ stripHits()
| const HitLayVec & MuonR4::SpacePointPerLayerSplitter::stripHits |
( |
| ) |
const |
|
inline |
◆ m_mdtLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_mdtLayers {} |
|
private |
◆ m_nMdtHits
| unsigned int MuonR4::SpacePointPerLayerSplitter::m_nMdtHits {0} |
|
private |
◆ m_nStripHits
| unsigned int MuonR4::SpacePointPerLayerSplitter::m_nStripHits {0} |
|
private |
◆ m_stripLayers
| HitLayVec MuonR4::SpacePointPerLayerSplitter::m_stripLayers {} |
|
private |
◆ m_tubeLaySwitch
| unsigned int MuonR4::SpacePointPerLayerSplitter::m_tubeLaySwitch {0} |
|
private |
The documentation for this class was generated from the following files: