9 #include "Pandora/AlgorithmHeaders.h" 21 const HitType hitType(pCaloHit2D->GetHitType());
22 const HitType hitType1((TPC_VIEW_U == hitType) ? TPC_VIEW_V : (TPC_VIEW_V == hitType) ? TPC_VIEW_W : TPC_VIEW_U);
23 const HitType hitType2((TPC_VIEW_U == hitType) ? TPC_VIEW_W : (TPC_VIEW_V == hitType) ? TPC_VIEW_U : TPC_VIEW_V);
25 CartesianPointVector fitPositionList1, fitPositionList2;
28 if (matchedSlidingFitMap.end() != fIter1)
31 CartesianVector position1(0.
f, 0.
f, 0.
f);
34 if ((STATUS_CODE_SUCCESS != statusCode) && (STATUS_CODE_NOT_FOUND != statusCode))
35 throw StatusCodeException(statusCode);
37 if (STATUS_CODE_SUCCESS == statusCode)
38 fitPositionList1.push_back(position1);
42 if (matchedSlidingFitMap.end() != fIter2)
45 CartesianVector position2(0.
f, 0.
f, 0.
f);
48 if ((STATUS_CODE_SUCCESS != statusCode) && (STATUS_CODE_NOT_FOUND != statusCode))
49 throw StatusCodeException(statusCode);
51 if (STATUS_CODE_SUCCESS == statusCode)
52 fitPositionList2.push_back(position2);
55 unsigned int nViews(1);
56 if (fitPositionList1.size() > 0) ++nViews;
57 if (fitPositionList2.size() > 0) ++nViews;
59 if (nViews < m_minViews)
60 throw StatusCodeException(STATUS_CODE_NOT_FOUND);
62 this->GetBestPosition3D(hitType1, hitType2, fitPositionList1, fitPositionList2, protoHit);
Proto hits are temporary constructs to be used during iterative 3D hit procedure. ...
std::map< pandora::HitType, TwoDSlidingFitResult > MatchedSlidingFitMap
pandora::StatusCode GetExtrapolatedPositionAtX(const float x, pandora::CartesianVector &position) const
Get extrapolated position (beyond span) for a given input x coordinate.
const pandora::CaloHit * GetParentCaloHit2D() const
Get the address of the parent 2D calo hit.
TwoDSlidingFitResult class.