Belle II Software  release-05-01-25
BaseFacetRelationFilter.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #include <tracking/trackFindingCDC/filters/facetRelation/BaseFacetRelationFilter.h>
11 
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCFacet.h>
13 
14 #include <tracking/trackFindingCDC/filters/base/RelationFilter.icc.h>
15 
16 #include <tracking/trackFindingCDC/utilities/Functional.h>
17 #include <tracking/trackFindingCDC/utilities/VectorRange.h>
18 
19 #include <vector>
20 #include <algorithm>
21 #include <cassert>
22 
23 using namespace Belle2;
24 using namespace TrackFindingCDC;
25 
27 
29 
31 
32 std::vector<const CDCFacet*> BaseFacetRelationFilter::getPossibleTos(
33  const CDCFacet* from,
34  const std::vector<const CDCFacet*>& facets) const
35 {
36  const CDCRLWireHitPair& rearRLWireHitPair = from->getRearRLWireHitPair();
37 
39  std::equal_range(facets.begin(), facets.end(), &rearRLWireHitPair, LessOf<Deref>())};
40  return {neighbors.begin(), neighbors.end()};
41 }
Belle2::TrackFindingCDC::RelationFilter< const CDCFacet >
Belle2::TrackFindingCDC::BaseFacetRelationFilter::~BaseFacetRelationFilter
~BaseFacetRelationFilter()
Default destructor.
Belle2::TrackFindingCDC::Range::begin
Iterator begin() const
Begin of the range for range based for.
Definition: Range.h:74
Belle2::TrackFindingCDC::BinaryJoin
Functor factory turning a binary functor and two functors into a new functor which executes the binar...
Definition: Functional.h:137
Belle2::TrackFindingCDC::BaseFacetRelationFilter::BaseFacetRelationFilter
BaseFacetRelationFilter()
Default constructor.
Belle2::TrackFindingCDC::BaseFacetRelationFilter::getPossibleTos
std::vector< const CDCFacet * > getPossibleTos(const CDCFacet *from, const std::vector< const CDCFacet * > &facets) const final
Returns the selection of facets covering the range of possible neighboring facets of the given facet ...
Definition: BaseFacetRelationFilter.cc:32
Belle2::TrackFindingCDC::CDCRLWireHitTriple::getRearRLWireHitPair
CDCRLWireHitPair & getRearRLWireHitPair()
Getter for the pair of second and third oriented wire hit.
Definition: CDCRLWireHitTriple.h:273
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::Range
A pair of iterators usable with the range base for loop.
Definition: Range.h:35
Belle2::TrackFindingCDC::CDCFacet
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:42
Belle2::TrackFindingCDC::CDCRLWireHitPair
A pair of oriented wire hits.
Definition: CDCRLWireHitPair.h:37