ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
kdfinder::CircleFit< T > Class Template Reference

#include <coresoftware/blob/master/offline/packages/PHTpcTracker/externals/kdfinder.hpp>

Public Member Functions

 CircleFit ()
 

Static Public Member Functions

static Circle< T > * RegularFit (const std::vector< std::vector< T >> &hits, size_t fit=0)
 
static Circle< T > * RobustFit (const std::vector< std::vector< T >> &hits, Circle< T > *circle=0, T lambda=0.01)
 

Static Private Member Functions

static T Sigma (Data< T > &data, Circle< T > *circle)
 
static T ChiSqr (Data< T > &data, Circle< T > *circle)
 
static Circle< T > * CircleFitByHyper (const std::vector< std::vector< T >> &hits)
 
static Circle< T > * CircleFitByTaubin (const std::vector< std::vector< T >> &hits)
 
static Circle< T > * CircleFitByPratt (const std::vector< std::vector< T >> &hits)
 
static T pythag (T a, T b)
 
static T OptimalRadius (Data< T > &data, Circle< T > &circle)
 
static void eigen2x2 (T a, T b, T c, T &d1, T &d2, T &Vx, T &Vy)
 
static T SigmaWithLargeCircleOption (Data< T > &data, Circle< T > &circle)
 
static void GradientHessian (Data< T > &data, Circle< T > &circle, T &F1, T &F2, T &A11, T &A22, T &A12)
 
static int CircleFitByChernovHoussam (const std::vector< std::vector< T >> &hits, Circle< T > *circleIni=0, T LambdaIni=0.01)
 

Detailed Description

template<class T>
class kdfinder::CircleFit< T >

Definition at line 1354 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1354 of file kdfinder.hpp

Constructor & Destructor Documentation

template<class T >
kdfinder::CircleFit< T >::CircleFit ( )
inline

Definition at line 1357 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1357 of file kdfinder.hpp

Member Function Documentation

template<class T >
static T kdfinder::CircleFit< T >::ChiSqr ( Data< T > &  data,
Circle< T > *  circle 
)
inlinestaticprivate

Definition at line 1395 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1395 of file kdfinder.hpp

References kdfinder::Circle< T >::a, kdfinder::Circle< T >::b, dx, dy, kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, kdfinder::Circle< T >::r, sum, and T.

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam(), kdfinder::CircleFit< T >::CircleFitByHyper(), kdfinder::CircleFit< T >::CircleFitByPratt(), and kdfinder::CircleFit< T >::CircleFitByTaubin().

+ Here is the caller graph for this function:

template<class T >
static int kdfinder::CircleFit< T >::CircleFitByChernovHoussam ( const std::vector< std::vector< T >> &  hits,
Circle< T > *  circleIni = 0,
T  LambdaIni = 0.01 
)
inlinestaticprivate
template<class T >
static Circle<T>* kdfinder::CircleFit< T >::CircleFitByHyper ( const std::vector< std::vector< T >> &  hits)
inlinestaticprivate

Definition at line 1407 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1407 of file kdfinder.hpp

References kdfinder::Circle< T >::a, A22, kdfinder::abs(), kdfinder::Circle< T >::b, kdfinder::Circle< T >::chi2, kdfinder::CircleFit< T >::ChiSqr(), Dy, hits(), kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, isfinite, kdfinder::Circle< T >::j, kdfinder::Data< T >::means(), kdfinder::Data< T >::meanX, kdfinder::Data< T >::meanY, kdfinder::Circle< T >::r, kdfinder::Circle< T >::s, kdfinder::CircleFit< T >::Sigma(), T, x, and y.

Referenced by kdfinder::CircleFit< T >::RegularFit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static Circle<T>* kdfinder::CircleFit< T >::CircleFitByPratt ( const std::vector< std::vector< T >> &  hits)
inlinestaticprivate

Definition at line 1568 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1568 of file kdfinder.hpp

References kdfinder::Circle< T >::a, A22, kdfinder::abs(), kdfinder::Circle< T >::b, kdfinder::Circle< T >::chi2, kdfinder::CircleFit< T >::ChiSqr(), Dy, hits(), isfinite, kdfinder::Circle< T >::j, kdfinder::Circle< T >::r, kdfinder::Circle< T >::s, kdfinder::CircleFit< T >::Sigma(), T, x, and y.

Referenced by kdfinder::CircleFit< T >::RegularFit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static Circle<T>* kdfinder::CircleFit< T >::CircleFitByTaubin ( const std::vector< std::vector< T >> &  hits)
inlinestaticprivate

Definition at line 1489 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1489 of file kdfinder.hpp

References kdfinder::Circle< T >::a, A22, A33, kdfinder::abs(), kdfinder::Circle< T >::b, kdfinder::Circle< T >::chi2, kdfinder::CircleFit< T >::ChiSqr(), Dy, hits(), isfinite, kdfinder::Circle< T >::j, kdfinder::Circle< T >::r, kdfinder::Circle< T >::s, kdfinder::CircleFit< T >::Sigma(), T, x, and y.

Referenced by kdfinder::CircleFit< T >::RegularFit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static void kdfinder::CircleFit< T >::eigen2x2 ( T  a,
T  b,
T  c,
T d1,
T d2,
T Vx,
T Vy 
)
inlinestaticprivate

Definition at line 1668 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1668 of file kdfinder.hpp

References a, kdfinder::abs(), b, c, f, kdfinder::CircleFit< T >::pythag(), and T.

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static void kdfinder::CircleFit< T >::GradientHessian ( Data< T > &  data,
Circle< T > &  circle,
T F1,
T F2,
T A11,
T A22,
T A12 
)
inlinestaticprivate

Definition at line 1751 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1751 of file kdfinder.hpp

References a, kdfinder::Circle< T >::a, a0, kdfinder::abs(), b, kdfinder::Circle< T >::b, c, dx, dy, Acts::UnitConstants::g, kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, kdfinder::Data< T >::meanX, kdfinder::Data< T >::meanY, n, r, Acts::IntegrationTest::R, T, t, Acts::UnitConstants::u, v, w, X, x, Y, y, and z.

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static T kdfinder::CircleFit< T >::OptimalRadius ( Data< T > &  data,
Circle< T > &  circle 
)
inlinestaticprivate

Definition at line 1656 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1656 of file kdfinder.hpp

References kdfinder::Circle< T >::a, kdfinder::Circle< T >::b, dx, dy, kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, and T.

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam().

+ Here is the caller graph for this function:

template<class T >
static T kdfinder::CircleFit< T >::pythag ( T  a,
T  b 
)
inlinestaticprivate

Definition at line 1646 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1646 of file kdfinder.hpp

References kdfinder::abs(), and T.

Referenced by kdfinder::CircleFit< T >::eigen2x2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static Circle<T>* kdfinder::CircleFit< T >::RegularFit ( const std::vector< std::vector< T >> &  hits,
size_t  fit = 0 
)
inlinestatic

Definition at line 1359 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1359 of file kdfinder.hpp

References kdfinder::CircleFit< T >::CircleFitByHyper(), kdfinder::CircleFit< T >::CircleFitByPratt(), kdfinder::CircleFit< T >::CircleFitByTaubin(), and hits().

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam(), and kdfinder::TrackCandidate< T >::radiusFit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static Circle<T>* kdfinder::CircleFit< T >::RobustFit ( const std::vector< std::vector< T >> &  hits,
Circle< T > *  circle = 0,
T  lambda = 0.01 
)
inlinestatic

Definition at line 1376 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1376 of file kdfinder.hpp

References kdfinder::CircleFit< T >::CircleFitByChernovHoussam(), hits(), and G4InuclParticleNames::lambda.

Referenced by kdfinder::TrackCandidate< T >::radiusFit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T >
static T kdfinder::CircleFit< T >::Sigma ( Data< T > &  data,
Circle< T > *  circle 
)
inlinestaticprivate

Definition at line 1383 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1383 of file kdfinder.hpp

References kdfinder::Circle< T >::a, kdfinder::Circle< T >::b, dx, dy, kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, kdfinder::Circle< T >::r, sum, and T.

Referenced by kdfinder::CircleFit< T >::CircleFitByHyper(), kdfinder::CircleFit< T >::CircleFitByPratt(), and kdfinder::CircleFit< T >::CircleFitByTaubin().

+ Here is the caller graph for this function:

template<class T >
static T kdfinder::CircleFit< T >::SigmaWithLargeCircleOption ( Data< T > &  data,
Circle< T > &  circle 
)
inlinestaticprivate

Definition at line 1705 of file kdfinder.hpp.

View newest version in sPHENIX GitHub at line 1705 of file kdfinder.hpp

References kdfinder::Circle< T >::a, a0, kdfinder::abs(), kdfinder::Circle< T >::b, c, D(), dx, dy, Acts::UnitConstants::g, kdfinder::Data< T >::hits, kdfinder::Data< T >::hits_size, kdfinder::Data< T >::meanX, kdfinder::Data< T >::meanY, n, r, sum, T, t, x, y, Z, and z.

Referenced by kdfinder::CircleFit< T >::CircleFitByChernovHoussam().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this class was generated from the following file: