ATLAS Offline Software
Loading...
Searching...
No Matches
TgcHitClustering.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TGCHITCLUSTERING_H
6#define TGCHITCLUSTERING_H
7
8#include <vector>
13
14#include "Identifier/Identifier.h"
16
17namespace Muon {
18
20 public:
21
22 using HitList = std::vector< const TgcPrepData* >;
23
24 TgcClusterObj3D( const HitList& etaC, const HitList& phiC ) :
25 etaCluster(etaC), phiCluster(phiC) {}
28
37 return m_edgePoints[static_cast<unsigned>(e)];
38 }
39 const Amg::Vector3D& getEdge(const Edge e) const {
40 return m_edgePoints[static_cast<unsigned>(e)];
41 }
42
43 private:
44 std::array<Amg::Vector3D, 4> m_edgePoints{make_array<Amg::Vector3D, 4>(Amg::Vector3D::Zero())};
45 };
46
48
50
51 TgcHitClusteringObj( const TgcIdHelper* tgcIdHelp ) :
52 m_tgcIdHelper(tgcIdHelp) {}
53
54 bool cluster(const HitList& col );
55 bool cluster(HitList& filteredHits,
56 std::vector<HitList>& finalClusts);
57
58 bool buildClusters3D();
59
60 void dump() const;
61
62 const HitList& bestEtaCluster() const;
63 const HitList& bestPhiCluster() const;
64
65
66 const TgcIdHelper* m_tgcIdHelper{nullptr};
67 std::vector<HitList> clustersEta{};
68 std::vector<HitList> clustersPhi{};
69 std::vector<TgcClusterObj3D> clusters3D{};
70
71 };
72
73}
74#endif
constexpr std::array< T, N > make_array(const T &def_val)
Helper function to initialize in-place arrays with non-zero values.
Definition ArrayHelper.h:10
std::array< Amg::Vector3D, 4 > m_edgePoints
TgcClusterObj3D(const HitList &etaC, const HitList &phiC)
std::vector< const TgcPrepData * > HitList
const Amg::Vector3D & getEdge(const Edge e) const
Edge
Representation of the four edge points.
Amg::Vector3D & getEdge(const Edge e)
Eigen::Matrix< double, 3, 1 > Vector3D
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::vector< TgcClusterObj3D > clusters3D
const HitList & bestEtaCluster() const
const HitList & bestPhiCluster() const
bool cluster(const HitList &col)
std::vector< HitList > clustersEta
std::vector< HitList > clustersPhi
TgcHitClusteringObj(const TgcIdHelper *tgcIdHelp)
const TgcIdHelper * m_tgcIdHelper
TgcClusterObj3D::HitList HitList