Belle II Software development
CDCSegment3D.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/segments/CDCSegment.h>
11#include <tracking/trackFindingCDC/eventdata/hits/CDCRecoHit3D.h>
12#include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory3D.h>
13
14#include <tracking/trackFindingCDC/ca/AutomatonCell.h>
15
16namespace Belle2 {
21 namespace TrackFindingCDC {
22 class CDCSegment2D;
23 class CDCTrajectory2D;
24
26 class CDCSegment3D : public CDCSegment<CDCRecoHit3D> {
27
28 public:
30 static CDCSegment3D reconstruct(const CDCSegment2D& segment2D,
31 const CDCTrajectory2D& trajectory2D);
32
38
41 {
42 return m_automatonCell;
43 }
44
47 {
48 return &m_automatonCell;
49 }
50
55 void unsetAndForwardMaskedFlag(bool toHits = true) const;
56
61 void setAndForwardMaskedFlag(bool toHits = true) const;
62
68 void receiveMaskedFlag(bool fromHits = true) const;
69
72 {
73 return m_trajectory3D;
74 }
75
77 void setTrajectory3D(const CDCTrajectory3D& trajectory3D) const
78 {
79 m_trajectory3D = trajectory3D;
80 }
81
82 private:
89
92 };
93 }
95}
Cell used by the cellular automata.
A reconstructed sequence of two dimensional hits in one super layer.
A segment consisting of three dimensional reconstructed hits.
CDCTrajectory3D m_trajectory3D
Memory for the three dimensional trajectory fitted to this segment.
static CDCSegment3D reconstruct(const CDCSegment2D &segment2D, const CDCTrajectory2D &trajectory2D)
Reconstructs a two dimensional stereo segment by shifting each hit onto the given two dimensional tra...
CDCSegment2D stereoProjectToRef() const
Constructs a two dimensional segment by carrying out the stereo !
AutomatonCell * operator->() const
Indirection to the automaton cell for easier access to the flags.
void setTrajectory3D(const CDCTrajectory3D &trajectory3D) const
Setter for the two dimensional trajectory fitted to the segment.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
void receiveMaskedFlag(bool fromHits=true) const
Check all contained wire hits if one has the masked flag.
void setAndForwardMaskedFlag(bool toHits=true) const
Set the masked flag of the automaton cell of this segment and forward the masked flag to all containe...
CDCTrajectory3D & getTrajectory3D() const
Getter for the two dimensional trajectory fitted to the segment.
AutomatonCell m_automatonCell
Memory for the automaton cell.
void unsetAndForwardMaskedFlag(bool toHits=true) const
Unset the masked flag of the automaton cell of this segment and of all contained wire hits.
Particle trajectory as it is seen in xy projection represented as a circle.
Particle full three dimensional trajectory.
Abstract base class for different kinds of events.