Belle II Software development
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/trackingUtilities/eventdata/hits/CDCRLWireHitTriple.h>
11#include <tracking/trackingUtilities/geometry/UncertainParameterLine2D.h>
12
13#include <tracking/trackingUtilities/ca/AutomatonCell.h>
14
15#include <Math/Vector2D.h>
16
17namespace Belle2 {
22 namespace TrackingUtilities {
23 class ParameterLine2D;
24 class CDCRLWireHit;
25 class CDCRecoHit2D;
26 class CDCTangent;
27
34 public:
36 CDCFacet() = default;
37
39 CDCFacet(const CDCRLWireHit& startRLWireHit,
40 const CDCRLWireHit& middleRLWireHit,
41 const CDCRLWireHit& endRLWireHit);
42
44 CDCFacet(const CDCRLWireHit& startRLWireHit,
45 const CDCRLWireHit& middleRLWireHit,
46 const CDCRLWireHit& endRLWireHit,
47 const UncertainParameterLine2D& fitLine);
48
50 void reverse() override;
51
53 CDCFacet reversed() const;
54
56 void adjustFitLine() const;
57
59 void invalidateFitLine();
60
63 {
64 return m_fitLine;
65 }
66
68 void setFitLine(const UncertainParameterLine2D& fitLine) const
69 {
70 m_fitLine = fitLine;
71 }
72
79
86
93
95 ROOT::Math::XYVector getStartRecoPos2D() const;
96
98 ROOT::Math::XYVector getMiddleRecoPos2D() const;
99
101 ROOT::Math::XYVector getEndRecoPos2D() const;
102
105
108
111
114
117
120
122 void unsetAndForwardMaskedFlag() const;
123
125 void setAndForwardMaskedFlag() const;
126
128 void receiveMaskedFlag() const;
129
132 {
133 return m_automatonCell;
134 }
135
136 private:
139
142 };
143 }
145}
Cell used by the cellular automata.
ROOT::Math::XYVector getMiddleRecoPos2D() const
Getter for the reconstructed position at the second hit on the fit line.
Definition CDCFacet.cc:76
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 reconstructed hit.
Definition CDCFacet.cc:120
ROOT::Math::XYVector getEndRecoPos2D() const
Getter for the reconstructed position at the third hit on the fit line.
Definition CDCFacet.cc:81
CDCRecoHit2D getMiddleRecoHit2D() const
Getter for the second reconstructed hit.
Definition CDCFacet.cc:115
CDCFacet()=default
Default constructor for ROOT.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition CDCFacet.h:131
UncertainParameterLine2D m_fitLine
Memory for a line fit to the three contained hits.
Definition CDCFacet.h:138
void setAndForwardMaskedFlag() const
Sets the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition CDCFacet.cc:148
void unsetAndForwardMaskedFlag() const
Unset the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition CDCFacet.cc:140
const UncertainParameterLine2D & getFitLine() const
Getter for the contained line fit information.
Definition CDCFacet.h:62
void setFitLine(const UncertainParameterLine2D &fitLine) const
Setter for the contained line fit information.
Definition CDCFacet.h:68
CDCRecoHit2D getStartRecoHit2D() const
Getter for the first reconstructed 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 triple 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
ROOT::Math::XYVector getStartRecoPos2D() const
Getter for the reconstructed position at the first hit on the fit line.
Definition CDCFacet.cc:71
AutomatonCell m_automatonCell
Memory for the cellular automaton cell associated with the facet.
Definition CDCFacet.h:141
void reverse() override
Reverses the facet in place including the fit line.
Definition CDCFacet.cc:47
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
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
CDCRLWireHitTriple()=default
Default constructor for ROOT.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
Class representing a two dimensional reconstructed hit in the central drift chamber.
Class representing a linear track piece between two oriented wire hits.
Definition CDCTangent.h:42
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...
Abstract base class for different kinds of events.