LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
geo::ExptGeoHelperInterface Class Referenceabstract

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

#include "ExptGeoHelperInterface.h"

Inheritance diagram for geo::ExptGeoHelperInterface:
geo::StandardGeometryHelper

Public Types

using ChannelMapAlgPtr_t = std::shared_ptr< const ChannelMapAlg >
 

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
 

Private Member Functions

virtual void doConfigureChannelMapAlg (fhicl::ParameterSet const &sortingParameters, geo::GeometryCore *geom)=0
 Implementation of ConfigureChannelMapAlg (pure virtual) More...
 
virtual ChannelMapAlgPtr_t doGetChannelMapAlg () const =0
 Returns the ChannelMapAlg. 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 61 of file ExptGeoHelperInterface.h.

Member Typedef Documentation

Definition at line 64 of file ExptGeoHelperInterface.h.

Constructor & Destructor Documentation

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

Virtual destructor; does nothing.

Member Function Documentation

void 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 107 of file ExptGeoHelperInterface.h.

References doConfigureChannelMapAlg().

108  {
109  doConfigureChannelMapAlg(sortingParameters, geom);
110  }
virtual void doConfigureChannelMapAlg(fhicl::ParameterSet const &sortingParameters, geo::GeometryCore *geom)=0
Implementation of ConfigureChannelMapAlg (pure virtual)
virtual void geo::ExptGeoHelperInterface::doConfigureChannelMapAlg ( fhicl::ParameterSet const &  sortingParameters,
geo::GeometryCore geom 
)
privatepure virtual

Implementation of ConfigureChannelMapAlg (pure virtual)

Implemented in geo::StandardGeometryHelper.

Referenced by ConfigureChannelMapAlg().

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

Returns the ChannelMapAlg.

Implemented in geo::StandardGeometryHelper.

Referenced by GetChannelMapAlg().

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

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

Definition at line 114 of file ExptGeoHelperInterface.h.

References DECLARE_ART_SERVICE_INTERFACE, and doGetChannelMapAlg().

115  {
116  return doGetChannelMapAlg();
117  }
virtual ChannelMapAlgPtr_t doGetChannelMapAlg() const =0
Returns the ChannelMapAlg.

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