Belle II Software development
EStereoKind.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/utilities/FunctorTag.h>
11
12namespace Belle2 {
17 namespace TrackFindingCDC {
18
20 enum class EStereoKind {
22 c_Axial = 0,
23
25 c_StereoV = -1,
26
28 c_StereoU = 1,
29
31 c_Invalid = -999,
32 };
33
37 operator FunctorTag();
38
40 template<class T, class SFINAE = decltype(&T::getStereoKind)>
41 EStereoKind operator()(const T& t) const
42 {
43 return t.getStereoKind();
44 }
45 };
46 }
48}
@ c_Invalid
Constant for an invalid information.
Abstract base class for different kinds of events.
Tag class to facilitate marking of class as a functor in the sense of this code.
Definition: FunctorTag.h:20
Generic functor to get the stereo kind from an object.
Definition: EStereoKind.h:35
EStereoKind operator()(const T &t) const
Returns the stereo kind of an object.
Definition: EStereoKind.h:41