CMS 3D CMS Logo

StripClusterizerAlgorithmFactory.cc
Go to the documentation of this file.
2 
7 
8 std::unique_ptr<StripClusterizerAlgorithm> StripClusterizerAlgorithmFactory::create(const edm::ParameterSet& conf) {
9  std::string algorithm = conf.getParameter<std::string>("Algorithm");
10 
11  if (algorithm == "ThreeThresholdAlgorithm") {
12  return std::unique_ptr<StripClusterizerAlgorithm>(
13  new ThreeThresholdAlgorithm(conf.getParameter<double>("ChannelThreshold"),
14  conf.getParameter<double>("SeedThreshold"),
15  conf.getParameter<double>("ClusterThreshold"),
16  conf.getParameter<unsigned>("MaxSequentialHoles"),
17  conf.getParameter<unsigned>("MaxSequentialBad"),
18  conf.getParameter<unsigned>("MaxAdjacentBad"),
19  conf.getParameter<std::string>("QualityLabel"),
20  conf.getParameter<bool>("RemoveApvShots"),
21  clusterChargeCut(conf)));
22  }
23 
24  if (algorithm == "OldThreeThresholdAlgorithm") {
25  throw cms::Exception("[StripClusterizerAlgorithmFactory] obsolete") << algorithm << " Obsolete since 7_3_0";
26  }
27 
28  throw cms::Exception("[StripClusterizerAlgorithmFactory] Unregistered Algorithm")
29  << algorithm << " is not a registered StripClusterizerAlgorithm";
30 }
T getParameter(std::string const &) const
static std::unique_ptr< StripClusterizerAlgorithm > create(const edm::ParameterSet &)
float clusterChargeCut(const edm::ParameterSet &conf, const char *name="clusterChargeCut")