8#include <gtest/gtest.h>
10#include <tracking/trackFindingCDC/testFixtures/TrackFindingCDCTestWithTopology.h>
12#include <tracking/trackFindingCDC/filters/facet/FeasibleRLFacetFilter.h>
14#include <tracking/trackFindingCDC/eventdata/hits/CDCFacet.h>
15#include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
16#include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
18#include <tracking/trackFindingCDC/topology/CDCWireTopology.h>
20#include <framework/utilities/TestHelpers.h>
23using namespace TrackFindingCDC;
44 std::vector<std::array<ERightLeft, 3> > acceptableRLs = {
45 { ERightLeft::c_Right, ERightLeft::c_Right, ERightLeft::c_Right,},
46 { ERightLeft::c_Right, ERightLeft::c_Right, ERightLeft::c_Left,},
47 { ERightLeft::c_Left, ERightLeft::c_Right, ERightLeft::c_Right,},
48 { ERightLeft::c_Left, ERightLeft::c_Left, ERightLeft::c_Left,},
49 { ERightLeft::c_Left, ERightLeft::c_Left, ERightLeft::c_Right,},
50 { ERightLeft::c_Right, ERightLeft::c_Left, ERightLeft::c_Left,},
53 for (
const std::array<ERightLeft, 3>& acceptableRL : acceptableRLs) {
55 TEST_CONTEXT(
"For rl combination " <<
static_cast<int>(acceptableRL[0]) <<
", "
56 <<
static_cast<int>(acceptableRL[1]) <<
", "
57 <<
static_cast<int>(acceptableRL[2]));
61 CDCFacet facet(aRLWireHit, bRLWireHit, cRLWireHit);
62 Weight weight =
filter(facet);
63 EXPECT_TRUE(not std::isnan(weight));
Class representing a triple of neighboring oriented wire with additional trajectory information.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Class representing a hit wire in the central drift chamber.
Class representing the sense wire arrangement in the whole of the central drift chamber.
const CDCWire & getWire(const WireID &wireId) const
Getter for wire getter by wireID object.
static CDCWireTopology & getInstance()
Getter for the singleton instance of the wire topology.
Class representing a sense wire in the central drift chamber.
const WireID & getWireID() const
Getter for the wire id.
Filter for the construction of good facets investigating the feasibility of the right left passage hy...
This class provides the declaration of the common test fixture to all test of the track finding in th...
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double > > &runs, double cut, std::map< ExpRun, std::pair< double, double > > &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
Abstract base class for different kinds of events.