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 // cppcheck-suppress duplInheritedMember ; intentionally hides the base class member to return the derived type
54 CDCFacet reversed() const;
55
57 void adjustFitLine() const;
58
60 void invalidateFitLine();
61
64 {
65 return m_fitLine;
66 }
67
69 void setFitLine(const UncertainParameterLine2D& fitLine) const
70 {
71 m_fitLine = fitLine;
72 }
73
80
87
94
96 ROOT::Math::XYVector getStartRecoPos2D() const;
97
99 ROOT::Math::XYVector getMiddleRecoPos2D() const;
100
102 ROOT::Math::XYVector getEndRecoPos2D() const;
103
106
109
112
115
118
121
123 void unsetAndForwardMaskedFlag() const;
124
126 void setAndForwardMaskedFlag() const;
127
129 void receiveMaskedFlag() const;
130
133 {
134 return m_automatonCell;
135 }
136
137 private:
140
143 };
144 }
146}
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:77
void adjustFitLine() const
Adjusts the contained fit line to touch such that it touches the first and third hit.
Definition CDCFacet.cc:62
ParameterLine2D getStartToEndLine() const
Getter for the tangential line from the first to the third hit.
Definition CDCFacet.cc:95
CDCRecoHit2D getEndRecoHit2D() const
Getter for the third reconstructed hit.
Definition CDCFacet.cc:121
ROOT::Math::XYVector getEndRecoPos2D() const
Getter for the reconstructed position at the third hit on the fit line.
Definition CDCFacet.cc:82
CDCRecoHit2D getMiddleRecoHit2D() const
Getter for the second reconstructed hit.
Definition CDCFacet.cc:116
CDCFacet()=default
Default constructor for ROOT.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition CDCFacet.h:132
UncertainParameterLine2D m_fitLine
Memory for a line fit to the three contained hits.
Definition CDCFacet.h:139
void setAndForwardMaskedFlag() const
Sets the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition CDCFacet.cc:149
void unsetAndForwardMaskedFlag() const
Unset the masked flag of the facet's automaton cell and of the three contained wire hits.
Definition CDCFacet.cc:141
const UncertainParameterLine2D & getFitLine() const
Getter for the contained line fit information.
Definition CDCFacet.h:63
void setFitLine(const UncertainParameterLine2D &fitLine) const
Setter for the contained line fit information.
Definition CDCFacet.h:69
CDCRecoHit2D getStartRecoHit2D() const
Getter for the first reconstructed hit.
Definition CDCFacet.cc:111
void invalidateFitLine()
Clear all information in the fit.
Definition CDCFacet.cc:67
CDCTangent getStartToEnd() const
Getter for the tangential line including the hits from the first to the third hit.
Definition CDCFacet.cc:131
CDCFacet reversed() const
Constructs the reverse triple from this one.
Definition CDCFacet.cc:54
CDCTangent getMiddleToEnd() const
Getter for the tangential line including the hits from the second to the third hit.
Definition CDCFacet.cc:136
ROOT::Math::XYVector getStartRecoPos2D() const
Getter for the reconstructed position at the first hit on the fit line.
Definition CDCFacet.cc:72
AutomatonCell m_automatonCell
Memory for the cellular automaton cell associated with the facet.
Definition CDCFacet.h:142
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:157
ParameterLine2D getStartToMiddleLine() const
Getter for the tangential line from the first to the second hit.
Definition CDCFacet.cc:87
CDCTangent getStartToMiddle() const
Getter for the tangential line including the hits from the first to the second hit.
Definition CDCFacet.cc:126
ParameterLine2D getMiddleToEndLine() const
Getter for the tangential line from the second to the third hit.
Definition CDCFacet.cc:103
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.