11 #ifndef GEO_GEOMETRYTESTALG_H
12 #define GEO_GEOMETRYTESTALG_H
41 class AuxDetSensitiveGeo;
120 virtual unsigned int Run();
186 template <
typename Stream>
189 std::string indent, std::string firstIndent
193 template <
typename Stream>
197 {
printAuxDetGeo(std::forward<Stream>(out), auxDet, indent, indent); }
200 template <
typename Stream>
203 std::string indent, std::string firstIndent
207 template <
typename Stream>
210 std::string indent =
""
214 (std::forward<Stream>(out), auxDetSens, indent, indent);
219 (
double const pos[3],
unsigned int expected)
const;
223 (
double const pos[3],
unsigned int expectedDet,
unsigned int expectedSens)
236 std::array<double, 3>
const&
A, std::array<double, 3>
const& B,
237 const double driftVelocity = -0.1
242 (
std::vector<std::pair<geo::PlaneID, double>>
const& plane_dTdW)
const;
256 virtual bool ShouldRun(std::string test_name)
const = 0;
283 virtual void RecordRequest(std::string test_name,
bool bRun);
286 virtual bool Query(std::string test_name);
298 #endif // GEO_GEOMETRYTESTALG_H
void testPlaneProjection() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
GeometryTestAlg(fhicl::ParameterSet const &pset)
IDparameter< geo::CryostatID > CryostatID
Member type of validated geo::CryostatID parameter.
void testPlaneDirections() const
std::set< std::string > fNonFatalExceptions
std::set< std::string > TestList_t
std::vector< double > fExpectedWirePitches
wire pitch on each plane
void testPlaneProjectionReference() const
void testPlaneProjectionOnFrame() const
virtual bool Query(std::string test_name)
Checks the test and records the request.
Geometry information for a single TPC.
void testWireCoordAngle() const
void printDetectorIntro() const
std::vector< std::pair< geo::PlaneID, double > > ExpectedPlane_dTdW(std::array< double, 3 > const &A, std::array< double, 3 > const &B, const double driftVelocity=-0.1) const
Returns dT/dW expected from the specified segment A-to-B.
void testWireOrientations() const
virtual unsigned int Run()
Runs the test, returns a number of errors (very unlikely!)
virtual ~GeometryTestAlg()=default
Virtual destructor.
virtual ~TestTrackerClassBase()=default
unsigned int testThirdPlane_dTdW_at(std::vector< std::pair< geo::PlaneID, double >> const &plane_dTdW) const
Performs the third plane slope test with a single configuration.
bool shouldRunTests(std::string test_name) const
TestList_t QueriedTests() const
Returns the tests that have been queried.
void testWireIntersection() const
bool isWireAlignedToPlaneDirections(geo::PlaneGeo const &plane, geo::Vector_t const &wireDir) const
Helper function for testWireIntersection().
A class providing a selection list.
void printChannelSummary()
IDparameter< geo::PlaneID > PlaneID
Member type of validated geo::PlaneID parameter.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
std::vector< double > fExpectedPlanePitches
plane pitch on each plane
void testChannelToROP() const
testing::NameSelector fRunTests
test filter
TestList_t const & RunTests() const
Returns the tests that have been run.
Performs tests on the geometry as seen by Geometry service.
void testThirdPlane_dTdW() const
void testInterWireProjectedDistance() const
Definitions of geometry vector data types.
virtual bool CheckQueriesRegistry() const
Checks that the validity of the configuration (after the fact)
void printAuxiliaryDetectors() const
Method to print the auxiliary detectors on screen.
void testStandardWirePos()
Geometry information for a single wire plane.The plane is represented in the geometry by a solid whic...
bool fDisableValidWireIDcheck
disable test on out-of-world NearestWire()
TestList_t run
requested tests that should be run
bool CheckAuxDetAtPosition(double const pos[3], unsigned int expected) const
Returns whether the auxiliary detector at pos is the expected one.
void testChannelToWire() const
virtual void Setup(geo::GeometryCore const &new_geo)
Runs the test.
Description of geometry of one entire detector.
void testWireCoordFromPlane() const
void printWiresInTPC(const TPCGeo &tpc, std::string indent="") const
void testTPC(geo::CryostatID const &cid)
Class telling whether a test needs to be run.
virtual void PrintConfiguration(std::ostream &) const
Prints information about the configuration of the filter.
unsigned int testFindCryostatVolumes()
void printAuxDetSensitiveGeo(Stream &&out, geo::AuxDetSensitiveGeo const &auxDetSens, std::string indent="") const
Prints information of the sensitive auxiliary detector into a stream.
void testPlanePointDecompositionFrame() const
unsigned int testFindTPCvolumePaths()
void testFindPlaneCenters()
void printAllGeometry() const
unsigned int testWireIntersectionAt(geo::TPCGeo const &TPC, TVector3 const &point) const
Performs the wire intersection test at a single point.
void testParallelWires() const
virtual void RecordRequest(std::string test_name, bool bRun)
void testFindAuxDet() const
TestList_t const & SkippedTests() const
Returns the tests that have been skipped.
TestList_t skipped
requested tests that should be skipped
void testThirdPlane() const
void testPlanePointDecomposition() const
virtual bool ShouldRun(std::string test_name) const =0
Returns whether the specified test should run.
unsigned int testFindWorldVolumes()
void printAuxDetSensitiveGeo(Stream &&out, geo::AuxDetSensitiveGeo const &auxDetSens, std::string indent, std::string firstIndent) const
Prints information of the sensitive auxiliary detector into a stream.
void printAuxDetGeo(Stream &&out, geo::AuxDetGeo const &auxDet, std::string indent, std::string firstIndent) const
Prints information of an auxiliary detector into the specified stream.
bool operator()(std::string test_name)
Checks the test and records the request.
geo::GeometryCore const * geom
pointer to geometry service provider
static void CopyList(TestList_t &dest, std::vector< std::string > const &from)
Adds a vector of tests into a test set.
static std::array< double, 3 > GetIncreasingWireDirection(const geo::PlaneGeo &plane)
Returns the direction on plane orthogonal to wires where wire number increases.
The data type to uniquely identify a cryostat.
bool fComputeMass
Whether to print the detector mass.
virtual void PleaseRunAlso(std::string test_name)=0
Allow the specified test to run.
bool CheckAuxDetSensitiveAtPosition(double const pos[3], unsigned int expectedDet, unsigned int expectedSens) const
Returns whether the auxiliary sensitive detector at pos is expected.