18 #include "Geometry/GeometryCore.h" 33 , fECALSegmentationAlg()
34 , fMinervaSegmentationAlg()
35 , fMuIDSegmentationAlg()
44 fChannelMap = std::make_shared<gar::geo::seg::ChannelMapStandardAlg>(sortingParameters);
64 auto SegmentationAlgName = segParameters.
get<
std::string>(
"SegmentationAlgName");
66 if(SegmentationAlgName.compare(
"GridXY") == 0)
68 else if(SegmentationAlgName.compare(
"MultiGridStripXY") == 0)
69 fECALSegmentationAlg = std::make_shared<gar::geo::seg::SegmentationMultiGridStripXYAlg>(segParameters);
71 throw cet::exception(
"StandardGeometryHelperGAr::doConfigureECALSegmentationAlg")
72 <<
"Unable to determine which ECAL Segmentation algorithm to use, bail";
87 auto SegmentationAlgName = segParameters.
get<
std::string>(
"SegmentationAlgName");
89 if(SegmentationAlgName.compare(
"Minerva") == 0)
92 throw cet::exception(
"StandardGeometryHelperGAr::doConfigureMinervaSegmentationAlg")
93 <<
"Unable to determine which Tracker Sc Segmentation algorithm to use, bail";
108 auto SegmentationAlgName = segParameters.
get<
std::string>(
"SegmentationAlgName");
110 if(SegmentationAlgName.compare(
"SegmentationStripXAlg") == 0)
112 else if(SegmentationAlgName.compare(
"SegmentationStripYAlg") == 0)
114 else if(SegmentationAlgName.compare(
"SegmentationMuIDAlg") == 0)
117 throw cet::exception(
"StandardGeometryHelperGAr::doConfigureMuIDSegmentationAlg")
118 <<
"Unable to determine which MuID Segmentation algorithm to use, bail";
std::shared_ptr< const seg::ChannelMapAlg > ChannelMapAlgPtr_t
std::shared_ptr< const seg::SegmentationAlg > SegmentationAlgPtr_t
Description of geometry of one entire detector.
std::shared_ptr< geo::seg::SegmentationAlg > fECALSegmentationAlg
ECAL Segmentation Alg.
virtual void doConfigureMuIDSegmentationAlg(fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom) override
Implementation of ConfigureECALSegmentationAlg (pure virtual)
std::shared_ptr< geo::seg::SegmentationAlg > fMinervaSegmentationAlg
Tracker Sc Segmentation Alg.
void ApplyMinervaSegmentationAlg(std::shared_ptr< gar::geo::seg::SegmentationAlg > pMinervaSegmentationAlg)
Interface to a service with detector-specific geometry knowledge.
virtual ChannelMapAlgPtr_t doGetChannelMapAlg() const override
Returns the ChannelMapAlg.
T get(std::string const &key) const
virtual SegmentationAlgPtr_t doGetMinervaSegmentationAlg() const override
Returns the Tracker Sc SegmentationAlg.
void ApplyChannelMap(std::shared_ptr< gar::geo::seg::ChannelMapAlg > pChannelMap)
Initializes the geometry to work with this channel map.
Simple implementation of channel mapping.
virtual SegmentationAlgPtr_t doGetECALSegmentationAlg() const override
Returns the ECAL SegmentationAlg.
virtual void doConfigureChannelMapAlg(fhicl::ParameterSet const &sortingParameters, geo::GeometryCore *geom) override
Implementation of ConfigureChannelMapAlg (pure virtual)
StandardGeometryHelperGAr(fhicl::ParameterSet const &pset,::art::ActivityRegistry ®)
Constructor; follows the standard art service signature.
virtual void doConfigureMinervaSegmentationAlg(fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom) override
Implementation of ConfigureECALSegmentationAlg (pure virtual)
virtual void doConfigureECALSegmentationAlg(fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom) override
Implementation of ConfigureECALSegmentationAlg (pure virtual)
General GArSoft Utilities.
void ApplyMuIDSegmentationAlg(std::shared_ptr< gar::geo::seg::SegmentationAlg > pMuIDSegmentationAlg)
std::shared_ptr< geo::seg::SegmentationAlg > fMuIDSegmentationAlg
MuID Segmentation Alg.
virtual SegmentationAlgPtr_t doGetMuIDSegmentationAlg() const override
Returns the MuID SegmentationAlg.
void ApplyECALSegmentationAlg(std::shared_ptr< gar::geo::seg::SegmentationAlg > pECALSegmentationAlg)
std::shared_ptr< geo::seg::ChannelMapAlg > fChannelMap
channel map algorithm
Geometry helper service for detectors with strictly standard mapping.
LArSoft geometry interface.
cet::coded_exception< error, detail::translate > exception
#define DEFINE_ART_SERVICE_INTERFACE_IMPL(svc, iface)