ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtSampleEstimator.cxx
Go to the documentation of this file.
1 #include "AtSampleEstimator.h"
2 
3 #include "AtContainerManip.h"
4 #include "AtEstimatorMethods.h"
5 #include "AtHit.h"
6 
7 using namespace SampleConsensus;
8 
22 int AtEstimator::EvaluateModel(AtPatterns::AtPattern *model, const std::vector<const AtHit *> &hits, double distThresh,
23  Estimators estimator = Estimators::kRANSAC)
24 {
25  switch (estimator) {
26  case (Estimators::kRANSAC): return EvaluateRansac(model, hits, distThresh);
27  case (Estimators::kLMedS): return EvaluateLmeds(model, hits, distThresh);
28  case (Estimators::kMLESAC): return EvaluateMlesac(model, hits, distThresh);
29  case (Estimators::kWRANSAC): return EvaluateWeightedRansac(model, hits, distThresh);
30  case (Estimators::kYRANSAC): return EvaluateYRansac(model, hits, distThresh);
31  case (Estimators::kChi2): return EvaluateChi2(model, hits, distThresh);
32  default: return 0;
33  }
34 }
35 
36 int AtEstimator::EvaluateModel(AtPatterns::AtPattern *model, const std::vector<AtHit> &hits, double distThresh,
37  Estimators estimator = Estimators::kRANSAC)
38 {
39  return EvaluateModel(model, ContainerManip::GetConstPointerVector(hits), distThresh, estimator);
40 }
SampleConsensus::Estimators::kRANSAC
@ kRANSAC
SampleConsensus::Estimators
Estimators
Estimators for AtSampleConsensus.
Definition: AtEstimatorMethods.h:17
SampleConsensus::AtEstimator::EvaluateModel
static int EvaluateModel(AtPatterns::AtPattern *model, const std::vector< AtHit > &hits, double distThresh, Estimators estimator)
Definition: AtSampleEstimator.cxx:36
ContainerManip::GetConstPointerVector
std::vector< const T * > GetConstPointerVector(const std::vector< T > &vec)
Definition: AtContainerManip.h:85
AtPatterns::AtPattern
Describes a shape in 3D space.
Definition: AtPattern.h:40
SampleConsensus::EvaluateRansac
int EvaluateRansac(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of RANSAC estimator.
Definition: AtEstimatorMethods.cxx:31
SampleConsensus::EvaluateChi2
int EvaluateChi2(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of estimator that minimizes chi2.
Definition: AtEstimatorMethods.cxx:13
SampleConsensus::Estimators::kChi2
@ kChi2
AtHit.h
AtEstimatorMethods.h
SampleConsensus::EvaluateWeightedRansac
int EvaluateWeightedRansac(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of RANSAC estimator using charge weighting.
Definition: AtEstimatorMethods.cxx:142
SampleConsensus::Estimators::kLMedS
@ kLMedS
SampleConsensus::EvaluateLmeds
int EvaluateLmeds(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of LMedS estimator.
Definition: AtEstimatorMethods.cxx:126
AtContainerManip.h
SampleConsensus::Estimators::kMLESAC
@ kMLESAC
SampleConsensus::Estimators::kWRANSAC
@ kWRANSAC
AtSampleEstimator.h
SampleConsensus
Definition: AtEstimatorMethods.h:9
SampleConsensus::EvaluateYRansac
int EvaluateYRansac(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of RANSAC estimator ignoring beam component of y.
Definition: AtEstimatorMethods.cxx:47
SampleConsensus::Estimators::kYRANSAC
@ kYRANSAC
SampleConsensus::EvaluateMlesac
int EvaluateMlesac(AtPatterns::AtPattern *model, const std::vector< const AtHit * > &hitArray, double distanceThreshold)
Implementation of MLESAC estimator.
Definition: AtEstimatorMethods.cxx:68