Belle II Software  release-08-01-10
SVDReconstructionBase.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 
9 #pragma once
10 
11 #include <set>
12 
13 namespace Belle2::SVD {
14 
19 
20  public:
21 
26 
31 
35  virtual ~SVDReconstructionBase() {};
36 
40  bool isTimeAlgorithmAvailable(TString timeAlg)
41  {
42  return m_timeAlgorithms.find(timeAlg) != m_timeAlgorithms.end();
43  }
44 
48  bool isChargeAlgorithmAvailable(TString chargeAlg)
49  {
50  return m_chargeAlgorithms.find(chargeAlg) != m_chargeAlgorithms.end();
51  }
52 
56  bool isPositionAlgorithmAvailable(TString positionAlg)
57  {
58  return m_positionAlgorithms.find(positionAlg) != m_positionAlgorithms.end();
59  }
60 
61 
62  protected:
63 
64 
66  std::set<TString> m_timeAlgorithms;
67 
69  std::set<TString> m_chargeAlgorithms;
70 
72  std::set<TString> m_positionAlgorithms;
73 
76  {
77  m_timeAlgorithms.insert("CoG6");
78  m_timeAlgorithms.insert("CoG3");
79  m_timeAlgorithms.insert("ELS3");
80 
81  m_chargeAlgorithms.insert("MaxSample");
82  m_chargeAlgorithms.insert("SumSamples");
83  m_chargeAlgorithms.insert("ELS3");
84 
85  m_positionAlgorithms.insert("CoGOnly");
86  m_positionAlgorithms.insert("OldDefault");
87  }
88 
89  };
90 
91 }
92 
Class to check whether the reconstruction algorithms are available or not.
void buildAlgorithmSets()
build the sets containing the available time, charge and position algorithms
virtual ~SVDReconstructionBase()
virtual destructor
bool isChargeAlgorithmAvailable(TString chargeAlg)
std::set< TString > m_positionAlgorithms
set containing the available position algorithms
SVDReconstructionBase(const SVDReconstructionBase &)=default
default copy constructor
std::set< TString > m_timeAlgorithms
set containing the available time algorithms
bool isTimeAlgorithmAvailable(TString timeAlg)
std::set< TString > m_chargeAlgorithms
set containing the available charge algorithms
bool isPositionAlgorithmAvailable(TString positionAlg)
Namespace to encapsulate code needed for simulation and reconstrucion of the SVD.
Definition: GeoSVDCreator.h:23