Belle II Software  release-08-01-10
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 
12 namespace 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 
35  struct GetEStereoKind {
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