Public Types | Public Member Functions | Private Member Functions | List of all members
gar::geo::ExptGeoHelperInterface Class Referenceabstract

Interface to a service with detector-specific geometry knowledge. More...

#include <ExptGeoHelperInterface.h>

Inheritance diagram for gar::geo::ExptGeoHelperInterface:
gar::geo::StandardGeometryHelperGAr

Public Types

using ChannelMapAlgPtr_t = std::shared_ptr< const seg::ChannelMapAlg >
 
using SegmentationAlgPtr_t = std::shared_ptr< const seg::SegmentationAlg >
 

Public Member Functions

virtual ~ExptGeoHelperInterface ()=default
 Virtual destructor; does nothing. More...
 
void ConfigureChannelMapAlg (fhicl::ParameterSet const &sortingParameters, geo::GeometryCore *geom)
 Configure and initialize the channel map. More...
 
ChannelMapAlgPtr_t GetChannelMapAlg () const
 
void ConfigureECALSegmentationAlg (fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom)
 
SegmentationAlgPtr_t GetECALSegmentationAlg () const
 
void ConfigureMinervaSegmentationAlg (fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom)
 
SegmentationAlgPtr_t GetMinervaSegmentationAlg () const
 
void ConfigureMuIDSegmentationAlg (fhicl::ParameterSet const &segParameters, geo::GeometryCore *geom)
 
SegmentationAlgPtr_t GetMuIDSegmentationAlg () const
 

Private Member Functions

virtual void doConfigureChannelMapAlg (fhicl::ParameterSet const &sortingParameters, gar::geo::GeometryCore *geom)=0
 Implementation of ConfigureChannelMapAlg (pure virtual) More...
 
virtual ChannelMapAlgPtr_t doGetChannelMapAlg () const =0
 Returns the ChannelMapAlg. More...
 
virtual void doConfigureECALSegmentationAlg (fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
 Implementation of ConfigureECALSegmentationAlg (pure virtual) More...
 
virtual SegmentationAlgPtr_t doGetECALSegmentationAlg () const =0
 Returns the ECAL SegmentationAlg. More...
 
virtual void doConfigureMinervaSegmentationAlg (fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
 Implementation of ConfigureECALSegmentationAlg (pure virtual) More...
 
virtual SegmentationAlgPtr_t doGetMinervaSegmentationAlg () const =0
 Returns the Tracker Sc SegmentationAlg. More...
 
virtual void doConfigureMuIDSegmentationAlg (fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
 Implementation of ConfigureECALSegmentationAlg (pure virtual) More...
 
virtual SegmentationAlgPtr_t doGetMuIDSegmentationAlg () const =0
 Returns the MuID SegmentationAlg. More...
 

Detailed Description

Interface to a service with detector-specific geometry knowledge.

This is an interface to a service that virtualizes detector or experiment-specific knowledge that is required by the Geometry service. Experiments implement the private virtual functions within a concrete service provider class to perform the specified actions as appropriate for the particular experiment. It is expected that such requests will occur infrequently within a job. Calculations that occur frequently should be handled via interfaces that are passed back to the Geometry service.

Note
The public interface for this service cannot be overriden. The experiment-specific sub-classes should implement only the private methods without promoting their visibility.

Definition at line 64 of file ExptGeoHelperInterface.h.

Member Typedef Documentation

Definition at line 67 of file ExptGeoHelperInterface.h.

Definition at line 68 of file ExptGeoHelperInterface.h.

Constructor & Destructor Documentation

virtual gar::geo::ExptGeoHelperInterface::~ExptGeoHelperInterface ( )
virtualdefault

Virtual destructor; does nothing.

Member Function Documentation

void gar::geo::ExptGeoHelperInterface::ConfigureChannelMapAlg ( fhicl::ParameterSet const &  sortingParameters,
geo::GeometryCore geom 
)
inline

Configure and initialize the channel map.

Parameters
sortingParametersparameters for the channel map algorithm
geompointer to a geometry description object
Returns
a (shared) pointer to the channel mapping algorithm

This method creates a new ChannelMapAlg according to the geometry and specified configuration, then it configures the geometry itself according to the channel map (usually, it resorts the data).

Definition at line 141 of file ExptGeoHelperInterface.h.

143  {
144  doConfigureChannelMapAlg(sortingParameters, geom);
145  }
virtual void doConfigureChannelMapAlg(fhicl::ParameterSet const &sortingParameters, gar::geo::GeometryCore *geom)=0
Implementation of ConfigureChannelMapAlg (pure virtual)
void gar::geo::ExptGeoHelperInterface::ConfigureECALSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
geo::GeometryCore geom 
)
inline

Definition at line 154 of file ExptGeoHelperInterface.h.

156  {
157  doConfigureECALSegmentationAlg(segParameters, geom);
158  }
virtual void doConfigureECALSegmentationAlg(fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
Implementation of ConfigureECALSegmentationAlg (pure virtual)
void gar::geo::ExptGeoHelperInterface::ConfigureMinervaSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
geo::GeometryCore geom 
)
inline

Definition at line 167 of file ExptGeoHelperInterface.h.

169  {
170  doConfigureMinervaSegmentationAlg(segParameters, geom);
171  }
virtual void doConfigureMinervaSegmentationAlg(fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
Implementation of ConfigureECALSegmentationAlg (pure virtual)
void gar::geo::ExptGeoHelperInterface::ConfigureMuIDSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
geo::GeometryCore geom 
)
inline

Definition at line 180 of file ExptGeoHelperInterface.h.

182  {
183  doConfigureMuIDSegmentationAlg(segParameters, geom);
184  }
virtual void doConfigureMuIDSegmentationAlg(fhicl::ParameterSet const &segParameters, gar::geo::GeometryCore *geom)=0
Implementation of ConfigureECALSegmentationAlg (pure virtual)
virtual void gar::geo::ExptGeoHelperInterface::doConfigureChannelMapAlg ( fhicl::ParameterSet const &  sortingParameters,
gar::geo::GeometryCore geom 
)
privatepure virtual

Implementation of ConfigureChannelMapAlg (pure virtual)

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual void gar::geo::ExptGeoHelperInterface::doConfigureECALSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
gar::geo::GeometryCore geom 
)
privatepure virtual

Implementation of ConfigureECALSegmentationAlg (pure virtual)

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual void gar::geo::ExptGeoHelperInterface::doConfigureMinervaSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
gar::geo::GeometryCore geom 
)
privatepure virtual

Implementation of ConfigureECALSegmentationAlg (pure virtual)

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual void gar::geo::ExptGeoHelperInterface::doConfigureMuIDSegmentationAlg ( fhicl::ParameterSet const &  segParameters,
gar::geo::GeometryCore geom 
)
privatepure virtual

Implementation of ConfigureECALSegmentationAlg (pure virtual)

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual ChannelMapAlgPtr_t gar::geo::ExptGeoHelperInterface::doGetChannelMapAlg ( ) const
privatepure virtual

Returns the ChannelMapAlg.

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::doGetECALSegmentationAlg ( ) const
privatepure virtual

Returns the ECAL SegmentationAlg.

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::doGetMinervaSegmentationAlg ( ) const
privatepure virtual

Returns the Tracker Sc SegmentationAlg.

Implemented in gar::geo::StandardGeometryHelperGAr.

virtual SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::doGetMuIDSegmentationAlg ( ) const
privatepure virtual

Returns the MuID SegmentationAlg.

Implemented in gar::geo::StandardGeometryHelperGAr.

ExptGeoHelperInterface::ChannelMapAlgPtr_t gar::geo::ExptGeoHelperInterface::GetChannelMapAlg ( ) const
inline

Returns null pointer if the initialization failed NOTE: the sub-class owns the ChannelMapAlg object

Definition at line 148 of file ExptGeoHelperInterface.h.

149  {
150  return doGetChannelMapAlg();
151  }
virtual ChannelMapAlgPtr_t doGetChannelMapAlg() const =0
Returns the ChannelMapAlg.
ExptGeoHelperInterface::SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::GetECALSegmentationAlg ( ) const
inline

Definition at line 161 of file ExptGeoHelperInterface.h.

162  {
163  return doGetECALSegmentationAlg();
164  }
virtual SegmentationAlgPtr_t doGetECALSegmentationAlg() const =0
Returns the ECAL SegmentationAlg.
ExptGeoHelperInterface::SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::GetMinervaSegmentationAlg ( ) const
inline

Definition at line 174 of file ExptGeoHelperInterface.h.

175  {
177  }
virtual SegmentationAlgPtr_t doGetMinervaSegmentationAlg() const =0
Returns the Tracker Sc SegmentationAlg.
ExptGeoHelperInterface::SegmentationAlgPtr_t gar::geo::ExptGeoHelperInterface::GetMuIDSegmentationAlg ( ) const
inline

Definition at line 187 of file ExptGeoHelperInterface.h.

188  {
189  return doGetMuIDSegmentationAlg();
190  }
virtual SegmentationAlgPtr_t doGetMuIDSegmentationAlg() const =0
Returns the MuID SegmentationAlg.

The documentation for this class was generated from the following file: