15 #include "art/Utilities/make_tool.h"
16 #include "art/Framework/Services/Registry/ServiceDefinitionMacros.h"
17 #include "messagefacility/MessageLogger/MessageLogger.h"
28 std::string
const DefaultChannelMapSetupTool
29 =
"ICARUSsplitInductionChannelMapSetupTool";
36 fhicl::ParameterSet
const& ,
37 std::string
const& detectorName
43 if (detectorName.find(
"icarus") == std::string::npos) {
45 <<
"Using a ICARUS channel mapping with an unsupported (non-ICARUS?)"
52 return makeChannelMapping(fPset);
58 std::unique_ptr<geo::ChannelMapAlg>
60 (fhicl::ParameterSet
const& parameters)
const
62 fhicl::ParameterSet mapperDefaultSet;
63 mapperDefaultSet.put(
"tool_type", DefaultChannelMapSetupTool);
64 auto channelMapSetupTool = art::make_tool<geo::ChannelMapSetupTool>
65 (parameters.get<fhicl::ParameterSet>(
"Mapper", mapperDefaultSet));
67 return channelMapSetupTool->setupChannelMap();
72 DEFINE_ART_SERVICE_INTERFACE_IMPL
std::unique_ptr< geo::ChannelMapAlg > makeChannelMapping(fhicl::ParameterSet const ¶meters) const
Creates and returns the channel mapping instance via a art tool.
Interface to a service with detector-specific geometry knowledge.
std::unique_ptr< ChannelMapAlg > ChannelMapAlgPtr_t
Implementation of geo::ExptGeoHelperInterface for ICARUS.
MF_LOG_WARNING("SimWire")<< "SimWire is an example module that works for the "<< "MicroBooNE detector. Each experiment should implement "<< "its own version of this module to simulate electronics "<< "response."
Geometry helper service for ICARUS geometries.
virtual ChannelMapAlgPtr_t doConfigureChannelMapAlg(fhicl::ParameterSet const &, std::string const &detectorName) const override
Interface to algorithm class for a specific detector channel mapping.