Belle II Software  release-05-02-19
CDCSegment3D.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2012 - 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 #pragma once
11 
12 #include <tracking/trackFindingCDC/eventdata/segments/CDCSegment.h>
13 #include <tracking/trackFindingCDC/eventdata/hits/CDCRecoHit3D.h>
14 #include <tracking/trackFindingCDC/eventdata/trajectories/CDCTrajectory3D.h>
15 
16 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
17 
18 namespace Belle2 {
23  namespace TrackFindingCDC {
24  class CDCSegment2D;
25  class CDCTrajectory2D;
26 
28  class CDCSegment3D : public CDCSegment<CDCRecoHit3D> {
29 
30  public:
32  static CDCSegment3D reconstruct(const CDCSegment2D& segment2D,
33  const CDCTrajectory2D& trajectory2D);
34 
39  CDCSegment2D stereoProjectToRef() const;
40 
42  AutomatonCell& getAutomatonCell() const
43  {
44  return m_automatonCell;
45  }
46 
48  AutomatonCell* operator->() const
49  {
50  return &m_automatonCell;
51  }
52 
57  void unsetAndForwardMaskedFlag(bool toHits = true) const;
58 
63  void setAndForwardMaskedFlag(bool toHits = true) const;
64 
70  void receiveMaskedFlag(bool fromHits = true) const;
71 
74  {
75  return m_trajectory3D;
76  }
77 
79  void setTrajectory3D(const CDCTrajectory3D& trajectory3D) const
80  {
81  m_trajectory3D = trajectory3D;
82  }
83 
84  private:
91 
94  };
95  }
97 }
Belle2::TrackFindingCDC::CDCSegment3D::m_trajectory3D
CDCTrajectory3D m_trajectory3D
Memory for the three dimensional trajectory fitted to this segment.
Definition: CDCSegment3D.h:101
Belle2::TrackFindingCDC::CDCSegment3D::reconstruct
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...
Definition: CDCSegment3D.cc:22
Belle2::TrackFindingCDC::CDCSegment3D::getTrajectory3D
CDCTrajectory3D & getTrajectory3D() const
Getter for the two dimensional trajectory fitted to the segment.
Definition: CDCSegment3D.h:81
Belle2::TrackFindingCDC::CDCSegment3D::getAutomatonCell
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition: CDCSegment3D.h:50
Belle2::TrackFindingCDC::CDCSegment3D::receiveMaskedFlag
void receiveMaskedFlag(bool fromHits=true) const
Check all contained wire hits if one has the masked flag.
Definition: CDCSegment3D.cc:64
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::AutomatonCell
Cell used by the cellular automata.
Definition: AutomatonCell.h:39
Belle2::TrackFindingCDC::CDCSegment3D::stereoProjectToRef
CDCSegment2D stereoProjectToRef() const
Constructs a two dimensional segment by carrying out the stereo ! projection to the wire reference po...
Definition: CDCSegment3D.cc:34
Belle2::TrackFindingCDC::CDCSegment3D::m_automatonCell
AutomatonCell m_automatonCell
Memory for the automaton cell.
Definition: CDCSegment3D.h:98
Belle2::TrackFindingCDC::CDCSegment3D::setTrajectory3D
void setTrajectory3D(const CDCTrajectory3D &trajectory3D) const
Setter for the two dimensional trajectory fitted to the segment.
Definition: CDCSegment3D.h:87
Belle2::TrackFindingCDC::CDCSegment3D::setAndForwardMaskedFlag
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...
Definition: CDCSegment3D.cc:54
Belle2::TrackFindingCDC::CDCSegment3D::unsetAndForwardMaskedFlag
void unsetAndForwardMaskedFlag(bool toHits=true) const
Unset the masked flag of the automaton cell of this segment and of all contained wire hits.
Definition: CDCSegment3D.cc:44
Belle2::TrackFindingCDC::CDCSegment3D::operator->
AutomatonCell * operator->() const
Indirection to the automaton cell for easier access to the flags.
Definition: CDCSegment3D.h:56
Belle2::TrackFindingCDC::CDCTrajectory3D
Particle full three dimensional trajectory.
Definition: CDCTrajectory3D.h:47