LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
geometry_unit_test_base.h File Reference

Base class for objects initializing a geometry. More...

#include "larcorealg/CoreUtils/SearchPathPlusRelative.h"
#include "larcorealg/Geometry/GeometryBuilderStandard.h"
#include "larcorealg/Geometry/GeometryCore.h"
#include "larcorealg/TestUtils/unit_test_base.h"
#include "cetlib/search_path.h"
#include "fhiclcpp/ParameterSet.h"
#include "messagefacility/MessageLogger/MessageLogger.h"
#include <iostream>
#include <map>
#include <memory>
#include <string>
#include <type_traits>

Go to the source code of this file.

Classes

struct  testing::BasicGeometryEnvironmentConfiguration
 Class holding a configuration for a test environment. More...
 
class  testing::GeometryTesterEnvironment< ConfigurationClass, ObjectSorter >
 Environment for a geometry test. More...
 

Namespaces

 testing
 LArSoft test utilities.
 

Functions

template<typename ObjectSorter >
auto testing::createSorter (fhicl::ParameterSet const &pset[[maybe_unused]])
 

Detailed Description

Base class for objects initializing a geometry.

Date
May 7th, 2015
Author
petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov
See also
unit_test_base.h

Provides an environment for easy set up of a Geometry-aware test. Keep in mind that, as much as I could push on flexibility, the channel mapping algorithm must be hard-coded and, if using Boost unit test, the configuration file location must be hard coded too (or you can use the provided configuration).

For an example of usage, see larcore/test/Geometry/geometry_iterator_test.cxx

The standard TesterEnvironment<> class can't handle geo::GeometryCore. The reason is twofold: for once, WireReadout service is not factorized, so we need to choose explicitly the WireReadoutGeom implementation (here this is obtained by a template argument). Another is that GeometryCore both is required and requires WireReadoutGeom to have a complete initialisation. There are ways to overcome the issue at the cost of added complication.

Currently provides:

  • BasicGeometryEnvironmentConfiguration: a test environment configuration
  • GeometryTesterEnvironment: a prepacked geometry-aware test environment

Definition in file geometry_unit_test_base.h.