Belle II Software  release-08-01-10
DELTASOVERZ_NAME< PointType > Class Template Reference

calculates the helixparameter describing the deviation in arc length per unit in z. More...

#include <DeltaSoverZ.h>

Inheritance diagram for DELTASOVERZ_NAME< PointType >:
Collaboration diagram for DELTASOVERZ_NAME< PointType >:

Public Types

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

Public Member Functions

 PUT_NAME_FUNCTION (DELTASOVERZ_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 helixparameter describing the deviation in arc length per unit in z. More...
 
static variableType value (const PointType &arg1, const PointType &arg2)
 Static method that return the variable associated to: More...
 

Static Public Attributes

static const size_t c_Nargs
 Number of arguments.
 

Detailed Description

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

calculates the helixparameter describing the deviation in arc length per unit in z.

returning unit: radians*cm.

Definition at line 28 of file DeltaSoverZ.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, const argumentType&>::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

◆ value() [1/2]

static variableType value ( const templateArgumentType &  arg1,
const templateArgumentType &  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 helixparameter describing the deviation in arc length per unit in z.

returning unit: radians*cm

Definition at line 36 of file DeltaSoverZ.h.

37  {
38 
39  B2Vector3D circleCenter = CircleCenterXY<PointType>::value(outerHit, centerHit, innerHit);
40  B2Vector3D points2outerHit((outerHit.X() - circleCenter.X()),
41  (outerHit.Y() - circleCenter.Y()),
42  (outerHit.Z() - circleCenter.Z()));
43  B2Vector3D points2centerHit((centerHit.X() - circleCenter.X()),
44  (centerHit.Y() - circleCenter.Y()),
45  (centerHit.Z() - circleCenter.Z()));
46  B2Vector3D points2innerHit((innerHit.X() - circleCenter.X()),
47  (innerHit.Y() - circleCenter.Y()),
48  (innerHit.Z() - circleCenter.Z()));
49 
50  double alfaOC = acos(CosDirectionXY<B2Vector3D>::value(points2outerHit, points2centerHit));
51  double alfaCI = acos(CosDirectionXY<B2Vector3D>::value(points2centerHit, points2innerHit));
52 
53  // equals to alfaAB/dZAB and alfaBC/dZBC, but this solution here can not produce a division by zero:
54  return (alfaOC * double(centerHit.Z() - innerHit.Z())) - (alfaCI * double(outerHit.Z() - centerHit.Z()));
55  } // return unit: radians*cm
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516

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