11 #ifndef GEO_GEOMETRYTESTALG_H 12 #define GEO_GEOMETRYTESTALG_H 41 class AuxDetSensitiveGeo;
120 virtual unsigned int Run();
123 static std::array<double, 3> GetIncreasingWireDirection
134 bool fComputeMass =
true;
139 void printDetectorIntro()
const;
140 void printChannelSummary();
141 void printVolBounds();
145 void printAllGeometry()
const;
146 void testFindVolumes();
149 void testPlaneDirections()
const;
150 void testWireOrientations()
const;
151 void testChannelToROP()
const;
152 void testChannelToWire()
const;
153 void testFindPlaneCenters();
155 void testPlaneProjectionReference()
const;
156 void testPlanePointDecompositionFrame()
const;
157 void testPlaneProjectionOnFrame()
const;
158 void testPlaneProjection()
const;
159 void testWireCoordFromPlane()
const;
160 void testParallelWires()
const;
161 void testPlanePointDecomposition()
const;
162 void testWireCoordAngle()
const;
163 void testWirePitch();
164 void testInterWireProjectedDistance()
const;
165 void testPlanePitch();
166 void testStandardWirePos();
167 void testAPAWirePos();
168 void testNearestWire();
169 void testWireIntersection()
const;
170 void testThirdPlane()
const;
171 void testThirdPlane_dTdW()
const;
173 void testFindAuxDet()
const;
178 unsigned int testFindWorldVolumes();
179 unsigned int testFindCryostatVolumes();
180 unsigned int testFindTPCvolumePaths();
183 void printAuxiliaryDetectors()
const;
186 template <
typename Stream>
193 template <
typename Stream>
197 { printAuxDetGeo(std::forward<Stream>(out), auxDet,
indent,
indent); }
200 template <
typename Stream>
201 void printAuxDetSensitiveGeo(
207 template <
typename Stream>
213 printAuxDetSensitiveGeo
214 (std::forward<Stream>(out), auxDetSens, indent, indent);
218 bool CheckAuxDetAtPosition
219 (
double const pos[3],
unsigned int expected)
const;
222 bool CheckAuxDetSensitiveAtPosition
223 (
double const pos[3],
unsigned int expectedDet,
unsigned int expectedSens)
227 bool isWireAlignedToPlaneDirections
231 unsigned int testWireIntersectionAt
235 std::vector<std::pair<geo::PlaneID, double>> ExpectedPlane_dTdW(
236 std::array<double, 3>
const&
A, std::array<double, 3>
const&
B,
237 const double driftVelocity = -0.1
241 unsigned int testThirdPlane_dTdW_at
242 (
std::vector<std::pair<geo::PlaneID, double>>
const& plane_dTdW)
const;
256 virtual bool ShouldRun(
std::string test_name)
const = 0;
262 virtual void PleaseRunAlso(
std::string test_name) = 0;
274 virtual bool CheckQueriesRegistry()
const;
283 virtual void RecordRequest(
std::string test_name,
bool bRun);
298 #endif // GEO_GEOMETRYTESTALG_H IDparameter< geo::CryostatID > CryostatID
Member type of validated geo::CryostatID parameter.
std::set< std::string > fNonFatalExceptions
std::set< std::string > TestList_t
std::vector< double > fExpectedWirePitches
wire pitch on each plane
def testProject(defname="project", appFamily="demo", appName="demo", appVersion="demo")
Geometry information for a single TPC.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
std::vector< double > fExpectedPlanePitches
plane pitch on each plane
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.
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
virtual void Setup(geo::GeometryCore const &new_geo)
Runs the test.
Description of geometry of one entire detector.
Class telling whether a test needs to be run.
void printAuxDetSensitiveGeo(Stream &&out, geo::AuxDetSensitiveGeo const &auxDetSens, std::string indent="") const
Prints information of the sensitive auxiliary detector into a stream.
TestList_t const & SkippedTests() const
Returns the tests that have been skipped.
TestList_t skipped
requested tests that should be skipped
Definitions of geometry vector data types.
detail::Node< FrameID, bool > PlaneID
LArSoft geometry interface.
void PrintConfiguration(typename lar::example::PointIsolationAlg< T >::Configuration_t const &config, std::ostream &out=std::cout)
geo::GeometryCore const * geom
pointer to geometry service provider
The data type to uniquely identify a cryostat.