![]() |
LArSoft
v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
|
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]]) |
Base class for objects initializing a geometry.
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:
Definition in file geometry_unit_test_base.h.