Belle II Software development
CIRCLERADIUS_NAME< PointType > Class Template Reference

calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm. More...

#include <CircleRadius.h>

Inheritance diagram for CIRCLERADIUS_NAME< PointType >:
SelectionVariable< PointType, 3, double >

Public Types

typedef double variableType
 Type of the returned object.
 
typedef PointType argumentType
 Type of the argument object.
 
typedef FunctionOf< Nargs, variableType, constargumentType & >::functionType functionType
 Type of the function returning the value.
 

Public Member Functions

 PUT_NAME_FUNCTION (CIRCLERADIUS_NAME)
 is replaced by "static const std:string name(void)" frunction which returns name of the Class
 

Static Public Member Functions

static double value (const PointType &outerHit, const PointType &centerHit, const PointType &innerHit)
 calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm.
 
static double calcAvgDistanceXY (const PointType &a, const PointType &b, const PointType &c, const B2Vector3D &center)
 helper function with calculates the average distance in XY from the given center
 
static variableType value (const PointType &arg1, const PointType &arg2)
 Static method that return the variable associated to:
 

Static Public Attributes

static const size_t c_Nargs
 Number of arguments.
 

Detailed Description

template<typename PointType>
class Belle2::CIRCLERADIUS_NAME< PointType >

calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm.

WARNING: this filter returns 0 if no valid value could be found!

Definition at line 27 of file CircleRadius.h.

Member Typedef Documentation

◆ argumentType

typedef PointType argumentType
inherited

Type of the argument object.

Needed for SFINAE in Filter.hh

Definition at line 84 of file SelectionVariable.h.

◆ functionType

typedef FunctionOf<Nargs,variableType,constargumentType&>::functionType functionType
inherited

Type of the function returning the value.

Needed for the automated training

Definition at line 88 of file SelectionVariable.h.

◆ variableType

typedef double variableType
inherited

Type of the returned object.

Needed for SFINAE in Filter.hh

Definition at line 81 of file SelectionVariable.h.

Member Function Documentation

◆ calcAvgDistanceXY()

static double calcAvgDistanceXY ( const PointType &  a,
const PointType &  b,
const PointType &  c,
const B2Vector3D center 
)
inlinestatic

helper function with calculates the average distance in XY from the given center

Parameters
afirst point for which the distance is evaluated
bsecond point for which the distance is evaluated
cthird point for which the distance is evaluated
centerthe center from which the relative distance is evaluated TODO: think about a better place to put this helper! Maybe own class but where to put the class?

Definition at line 49 of file CircleRadius.h.

50 {
51 return (sqrt(std::pow(center.X() - a.X(), 2) + std::pow(center.Y() - a.Y(), 2)) +
52 sqrt(std::pow(center.X() - b.X(), 2) + std::pow(center.Y() - b.Y(), 2)) +
53 sqrt(std::pow(center.X() - c.X(), 2) + std::pow(center.Y() - c.Y(), 2))) / 3.;
54 } // = radius in [cm], sign here not needed. normally: signKappaAB/normAB1
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ value() [1/2]

static variableType value ( const PointType &  arg1,
const PointType &  arg2 
)
inlinestaticinherited

Static method that return the variable associated to:

Parameters
arg1first object of the pair
arg2second object of the pair

N.B. this method must be static.

◆ value() [2/2]

static double value ( const PointType &  outerHit,
const PointType &  centerHit,
const PointType &  innerHit 
)
inlinestatic

calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm.

Definition at line 35 of file CircleRadius.h.

36 {
37 B2Vector3D circleCenter = CircleCenterXY<PointType>::value(outerHit, centerHit, innerHit);
38
39 return CIRCLERADIUS_NAME<PointType>::calcAvgDistanceXY(outerHit, centerHit, innerHit, circleCenter);
40 } // return unit: cm
static double calcAvgDistanceXY(const PointType &a, const PointType &b, const PointType &c, const B2Vector3D &center)
helper function with calculates the average distance in XY from the given center
Definition: CircleRadius.h:49
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior

Member Data Documentation

◆ c_Nargs

const size_t c_Nargs
staticinherited

Number of arguments.

Definition at line 91 of file SelectionVariable.h.


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