Belle II Software  release-05-01-25
EFitVariance.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2014 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <stdexcept>
13 #include <string>
14 
15 namespace Belle2 {
20  namespace TrackFindingCDC {
21 
23  enum class EFitVariance {
25  c_Unit = 0,
26 
28  c_Nominal = 1,
29 
31  c_DriftLength = 2,
32 
34  c_Pseudo = 3,
35 
37  c_Proper = 4,
38  };
39 
44  inline EFitVariance getFitVariance(const std::string& fitVarianceString)
45  {
46  if (fitVarianceString == std::string("unit")) {
47  return EFitVariance::c_Unit;
48  } else if (fitVarianceString == std::string("nominal")) {
49  return EFitVariance::c_Nominal;
50  } else if (fitVarianceString == std::string("driftLength")) {
51  return EFitVariance::c_DriftLength;
52  } else if (fitVarianceString == std::string("pseudo")) {
53  return EFitVariance::c_Pseudo;
54  } else if (fitVarianceString == std::string("proper")) {
55  return EFitVariance::c_Proper;
56  } else {
57  throw std::invalid_argument("Unexpected fit variance string : '" + fitVarianceString + "'");
58  }
59  }
60 
61  }
63 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19