19 #include "Identifier/Identifier.h"
25 std::vector < float > valuesR,
26 std::vector < std::vector< float> > valuesPhi,
27 int nStepsR,
int nStepsPhi):
28 m_binnedArray(bin_array),
29 m_valuesR(std::move(valuesR)),
30 m_valuesPhi(std::move(valuesPhi)),
32 m_nStepsPhi(nStepsPhi)
48 float centerR = tsf.
center().perp();
49 float centerPhi = tsf.
center().phi();
51 std::vector<const Trk::Surface*> allSurfaces = {};
57 int index_r = rIndex+stepR;
58 if (index_r>=0 and index_r<
int(
m_valuesR.size()-1)) {
59 const auto phiBoundVal = std::lower_bound(
m_valuesPhi.at(index_r).begin(),
m_valuesPhi.at(index_r).end(), centerPhi);
65 else if (index_phi>
int(
m_valuesPhi.at(index_r).size()-1))
69 if (index_phi ==
int(
m_valuesPhi.at(index_r).size()-1))
74 if (surf and
std::find(allSurfaces.begin(), allSurfaces.end(), surf) == allSurfaces.end()) {
75 allSurfaces.push_back(surf);
81 for (
auto& surface : allSurfaces)
92 ISvcLocator* svcLocator = Gaudi::svcLocator();
95 SmartIF<StoreGateSvc>
detStore{svcLocator->service(
"DetectorStore")};
100 const HGTD_ID* hgtdIdHelper =
nullptr;
101 if (
detStore->retrieve(hgtdIdHelper,
"HGTD_ID").isFailure()) {
107 std::cout <<
"Dumping Surfaces for HGTD with size = " << surfaces.size() << std::endl;
108 for (
auto & surface : surfaces) {
109 Identifier hitId = (surface.object)->associatedDetectorElementIdentifier();