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;
29 if (matchedSlidingFitMap.end() != iter1)
32 PANDORA_THROW_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, fitResult1.
GetGlobalFitPositionListAtX(pCaloHit2D->GetPositionVector().GetX(), fitPositionList1));
37 if (matchedSlidingFitMap.end() != iter2)
40 PANDORA_THROW_RESULT_IF_AND_IF(STATUS_CODE_SUCCESS, STATUS_CODE_NOT_FOUND, !=, fitResult2.
GetGlobalFitPositionListAtX(pCaloHit2D->GetPositionVector().GetX(), fitPositionList2));
43 unsigned int nViews(1);
44 if (fitPositionList1.size() > 0) ++nViews;
45 if (fitPositionList2.size() > 0) ++nViews;
47 if (nViews < m_minViews)
48 throw StatusCodeException(STATUS_CODE_NOT_FOUND);
51 throw StatusCodeException(STATUS_CODE_INVALID_PARAMETER);
53 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
const pandora::CaloHit * GetParentCaloHit2D() const
Get the address of the parent 2D calo hit.
pandora::StatusCode GetGlobalFitPositionListAtX(const float x, pandora::CartesianPointVector &positionList) const
Get a list of projected positions for a given input x coordinate.
TwoDSlidingFitResult class.