Belle II Software  release-08-01-10
CDCFacet.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 
10 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHitTriple.h>
11 #include <tracking/trackFindingCDC/geometry/UncertainParameterLine2D.h>
12 
13 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
14 
15 namespace Belle2 {
20  namespace TrackFindingCDC {
21  class CDCTangent;
22  class CDCRecoHit2D;
23  class CDCRLWireHit;
24  class ParameterLine2D;
25  class Vector2D;
26 
32  class CDCFacet : public CDCRLWireHitTriple {
33  public:
35  CDCFacet() = default;
36 
38  CDCFacet(const CDCRLWireHit& startRLWireHit,
39  const CDCRLWireHit& middleRLWireHit,
40  const CDCRLWireHit& endRLWireHit);
41 
43  CDCFacet(const CDCRLWireHit& startRLWireHit,
44  const CDCRLWireHit& middleRLWireHit,
45  const CDCRLWireHit& endRLWireHit,
46  const UncertainParameterLine2D& fitLine);
47 
49  void reverse();
50 
52  CDCFacet reversed() const;
53 
55  void adjustFitLine() const;
56 
58  void invalidateFitLine();
59 
62  {
63  return m_fitLine;
64  }
65 
67  void setFitLine(const UncertainParameterLine2D& fitLine) const
68  {
69  m_fitLine = fitLine;
70  }
71 
78 
85 
92 
95 
98 
100  Vector2D getEndRecoPos2D() const;
101 
104 
107 
110 
113 
115  CDCTangent getStartToEnd() const;
116 
118  CDCTangent getMiddleToEnd() const;
119 
121  void unsetAndForwardMaskedFlag() const;
122 
124  void setAndForwardMaskedFlag() const;
125 
127  void receiveMaskedFlag() const;
128 
131  {
132  return m_automatonCell;
133  }
134 
135  private:
138 
141  };
142  }
144 }
Cell used by the cellular automata.
Definition: AutomatonCell.h:29
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:32
const UncertainParameterLine2D & getFitLine() const
Getter for the contained line fit information.
Definition: CDCFacet.h:61
void adjustFitLine() const
Adjusts the contained fit line to touch such that it touches the first and third hit.
Definition: CDCFacet.cc:61
ParameterLine2D getStartToEndLine() const
Getter for the tangential line from the first to the third hit.
Definition: CDCFacet.cc:94
CDCRecoHit2D getEndRecoHit2D() const
Getter for the third reconstucted hit.
Definition: CDCFacet.cc:120
void reverse()
Reverses the facet inplace including the fit line.
Definition: CDCFacet.cc:47
CDCRecoHit2D getMiddleRecoHit2D() const
Getter for the second reconstucted hit.
Definition: CDCFacet.cc:115
CDCFacet()=default
Default constructor for ROOT.
UncertainParameterLine2D m_fitLine
Memory for a line fit to the three contained hits.
Definition: CDCFacet.h:137
void setAndForwardMaskedFlag() const
Sets the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition: CDCFacet.cc:148
Vector2D getEndRecoPos2D() const
Getter for the reconstructed position at the third hit on the fit line.
Definition: CDCFacet.cc:81
void unsetAndForwardMaskedFlag() const
Unset the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition: CDCFacet.cc:140
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition: CDCFacet.h:130
void setFitLine(const UncertainParameterLine2D &fitLine) const
Setter for the contained line fit information.
Definition: CDCFacet.h:67
CDCRecoHit2D getStartRecoHit2D() const
Getter for the first reconstucted hit.
Definition: CDCFacet.cc:110
void invalidateFitLine()
Clear all information in the fit.
Definition: CDCFacet.cc:66
CDCTangent getStartToEnd() const
Getter for the tangential line including the hits from the first to the third hit.
Definition: CDCFacet.cc:130
CDCFacet reversed() const
Constructs the reverse tiple from this one.
Definition: CDCFacet.cc:53
CDCTangent getMiddleToEnd() const
Getter for the tangential line including the hits from the second to the third hit.
Definition: CDCFacet.cc:135
AutomatonCell m_automatonCell
Memory for the cellular automaton cell assoziated with the facet.
Definition: CDCFacet.h:140
void receiveMaskedFlag() const
If one of the contained wire hits is marked as masked this facet is set be masked as well.
Definition: CDCFacet.cc:156
Vector2D getMiddleRecoPos2D() const
Getter for the reconstructed position at the second hit on the fit line.
Definition: CDCFacet.cc:76
ParameterLine2D getStartToMiddleLine() const
Getter for the tangential line from the first to the second hit.
Definition: CDCFacet.cc:86
CDCTangent getStartToMiddle() const
Getter for the tangential line including the hits from the first to the second hit.
Definition: CDCFacet.cc:125
ParameterLine2D getMiddleToEndLine() const
Getter for the tangential line from the second to the third hit.
Definition: CDCFacet.cc:102
Vector2D getStartRecoPos2D() const
Getter for the reconstructed position at the first hit on the fit line.
Definition: CDCFacet.cc:71
Class representing a triple of neighboring wire hits.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Definition: CDCRLWireHit.h:41
Class representing a two dimensional reconstructed hit in the central drift chamber.
Definition: CDCRecoHit2D.h:47
Class representating a linear track piece between two oriented wire hits.
Definition: CDCTangent.h:40
A line with a support point and tangential vector.
A parameter line including including an line covariance matrix which is interpreted as located in the...
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
Definition: Vector2D.h:35
Abstract base class for different kinds of events.