47 double pT = 0.0,
eta = 0.0,
phi = 0.0;
49 ATH_MSG_INFO(
"Hit x = " << hit->getX() <<
" y = " << hit->getY() <<
" z = " << hit->getZ() <<
" detector = " << hit->getDetector());
50 pT = pT + sqrt(hit->getX() * hit->getX() + hit->getY() * hit->getY());
51 eta =
eta + hit->getX() / hit->getZ();
52 phi =
phi + hit->getX() / hit->getY();
56 auto trackObj = std::make_unique<ExampleTrack>();
57 trackObj->setPT(pT / hitCont->size());
58 trackObj->setEta(
eta);
59 trackObj->setPhi(
phi);
60 trackObj->setDetector(
"Track made in: " + (*hitCont->begin())->getDetector());
61 trackObj->getElementLink1()->toContainedElement(*hitCont, *hitCont->begin());
62 ATH_MSG_INFO(
"ElementLink1 = " << trackObj->getElement1()->getX());
63 trackObj->getElementLink2()->toIndexedElement(*hitCont, hitCont->size() - 1);
64 ATH_MSG_INFO(
"ElementLink2 = " << trackObj->getElement2()->getX());
69 trackObj->getElementLinkVector()->push_back(eLink1);
71 trackObj->getElementLinkVector()->push_back(eLink2);
73 trackObj->getElementLinkVector()->push_back(eLink3);
74 ATH_MSG_INFO(
"Link ElementLinkVector = " << trackObj->getElementLinkVector()->size());
75 for (
const auto link : *trackObj->getElementLinkVector()) {
80 trackObj->getNavigable()->putElement(hitCont.
cptr(), *hitCont->begin());
81 trackObj->getNavigable()->putElement(hitCont.
cptr(), (*hitCont)[5]);
82 ATH_MSG_INFO(
"Link Navigable = " << trackObj->getNavigable()->size());
83 for (
const auto* elem : *trackObj->getNavigable()) {
88 trackObj->getWeightedNavigable()->putElement(hitCont.
cptr(), *hitCont->begin(), 3.33);
89 trackObj->getWeightedNavigable()->putElement(hitCont.
cptr(), (*hitCont)[5], 1.11);
90 trackObj->getWeightedNavigable()->putElement(hitCont.
cptr(), (*hitCont)[3], 5.55);
91 ATH_MSG_INFO(
"Link Weighted Navigable = " << trackObj->getWeightedNavigable()->size());
92 for (
const auto* elem : *trackObj->getWeightedNavigable()) {
97 ATH_MSG_INFO(
"Track pt = " << trackObj->getPT() <<
" eta = " << trackObj->getEta() <<
" phi = " << trackObj->getPhi() <<
" detector = " << trackObj->getDetector());
100 auto trackCont = std::make_unique<ExampleTrackContainer>();
101 trackCont->push_back(std::move(trackObj));
108 return StatusCode::SUCCESS;
bool toIndexedElement(BaseConstReference data, index_type elemID, IProxyDict *sg=0)
Set the link to an element given by index and pointer to container.
bool toContainedElement(BaseConstReference data, ElementType element, IProxyDict *sg=0)
Set from element pointer and a reference to the container (storable)