Belle II Software development
SelectionVariable< templateArgumentType, Nargs, templateReturnType > Class Template Reference

Base class of the selection variable objects used for pair filtering. More...

#include <SelectionVariable.h>

Inheritance diagram for SelectionVariable< templateArgumentType, Nargs, templateReturnType >:
MLHANDOVER_NAME< PointType, Ndims >

Classes

struct  FunctionOf
 this struct is an internal utility. More...
 
struct  FunctionOf< 0, returnType, parameterType, Ts... >
 this struct is an internal utility. More...
 

Public Types

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

Public Member Functions

virtual ~SelectionVariable ()
 A bogus virtual denstructor.
 
 SelectionVariable ()
 A bogus constructor.
 

Static Public Member Functions

static variableType value (const templateArgumentType &arg1, const templateArgumentType &arg2)
 Static method that return the variable associated to:
 

Static Public Attributes

static const size_t c_Nargs = Nargs
 Number of arguments.
 

Detailed Description

template<class templateArgumentType, size_t Nargs, class templateReturnType = double>
class Belle2::SelectionVariable< templateArgumentType, Nargs, templateReturnType >

Base class of the selection variable objects used for pair filtering.

The filter tools are meant to select in a very flexible and efficient manner pairs of objects of type templateArgumentType. The selection decision is taken on the base of some selection variables. The arguments of the selection functions are two objects of type templateArgumentType. The selection function returns a templateReturnType which by default is a double. E.g.: To code a selection function returning the sum of two integers

#include "tracking/trackFindingVXD/filterTools/SelectionVariable.hh"
//...
class Difference: public SelectionVariable< int, int >
{
static int
value( const int & arg1, const int & arg2 ){
return arg1 + arg2;
};
Difference() {};
~Difference() {};
};
Base class of the selection variable objects used for pair filtering.

Definition at line 52 of file SelectionVariable.h.

Member Typedef Documentation

◆ argumentType

typedef templateArgumentType argumentType

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

Type of the function returning the value.

Needed for the automated training

Definition at line 88 of file SelectionVariable.h.

◆ variableType

typedef templateReturnType variableType

Type of the returned object.

Needed for SFINAE in Filter.hh

Definition at line 81 of file SelectionVariable.h.

Constructor & Destructor Documentation

◆ ~SelectionVariable()

virtual ~SelectionVariable ( )
inlinevirtual

A bogus virtual denstructor.

Definition at line 103 of file SelectionVariable.h.

103{};

◆ SelectionVariable()

SelectionVariable ( )
inline

A bogus constructor.

Definition at line 106 of file SelectionVariable.h.

106{};

Member Function Documentation

◆ value()

static variableType value ( const templateArgumentType &  arg1,
const templateArgumentType &  arg2 
)
inlinestatic

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.

Member Data Documentation

◆ c_Nargs

const size_t c_Nargs = Nargs
static

Number of arguments.

Definition at line 91 of file SelectionVariable.h.


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