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/trackingUtilities/utilities/FunctorTag.h>
11
12namespace Belle2 {
17 namespace CDC {
18
20 enum class EStereoKind {
23
26
29
31 c_Invalid = -999,
32 };
33
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}
EStereoKind
Type for the stereo property of the wire.
Definition EStereoKind.h:20
@ c_Invalid
Constant for an invalid stereo information.
Definition EStereoKind.h:31
@ c_StereoU
Constant for an stereo wire in the U configuration.
Definition EStereoKind.h:28
@ c_Axial
Constant for an axial wire.
Definition EStereoKind.h:22
@ c_StereoV
Constant for an stereo wire in the V configuration.
Definition EStereoKind.h:25
Abstract base class for different kinds of events.
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
Tag class to facilitate marking of class as a functor in the sense of this code.
Definition FunctorTag.h:20