Belle II Software  release-05-02-19
QuadTreeItem.h
1 /**************************************************************************
2 * BASF2 (Belle Analysis Framework 2) *
3 * Copyright(C) 2014 - Belle II Collaboration *
4 * *
5 * Author: The Belle II Collaboration *
6 * Contributors: Viktor Trusov, Thomas Hauth *
7 * *
8 * This software is provided "as is" without any warranty. *
9 **************************************************************************/
10 #pragma once
11 
12 namespace Belle2 {
17  namespace TrackFindingCDC {
18 
19  class CDCWireHit;
20  class CDCSegment2D;
21 
28  template<class AData>
29  class QuadTreeItem {
30  public:
32  explicit QuadTreeItem(AData* data)
33  : m_data(data)
34  , m_usedFlag(false) {};
35 
36  private:
38  QuadTreeItem(const QuadTreeItem& copy) = delete;
39 
41  QuadTreeItem& operator=(QuadTreeItem const& copy) = delete;
42 
43  public:
45  AData* getPointer() const
46  {
47  return m_data;
48  }
49 
54  bool isUsed() const
55  {
56  return m_usedFlag;
57  }
58 
60  void setUsedFlag(bool usedFlag = true)
61  {
62  m_usedFlag = usedFlag;
63  }
64 
66  void unsetUsedFlag()
67  {
68  setUsedFlag(false);
69  }
70 
71  private:
73  AData* m_data;
74 
76  bool m_usedFlag;
77  };
78 
82  template<>
84 
88  template<>
90 
94  template<>
96 
100  template<>
101  void QuadTreeItem<CDCSegment2D>::setUsedFlag(bool usedFlag);
102  }
104 }
Belle2::TrackFindingCDC::QuadTreeItem::setUsedFlag
void setUsedFlag(bool usedFlag=true)
Set the used flag if you do not want that item to go into the next search round again.
Definition: QuadTreeItem.h:68
Belle2::TrackFindingCDC::QuadTreeItem::QuadTreeItem
QuadTreeItem(AData *data)
Constructor.
Definition: QuadTreeItem.h:40
Belle2::TrackFindingCDC::QuadTreeItem::getPointer
AData * getPointer() const
Returns the underlying data.
Definition: QuadTreeItem.h:53
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::QuadTreeItem::m_data
AData * m_data
A pointer to the underlying item data.
Definition: QuadTreeItem.h:81
Belle2::TrackFindingCDC::QuadTreeItem::isUsed
bool isUsed() const
Flag is set if the item was used as a result of the quad tree search and should not be used in the ne...
Definition: QuadTreeItem.h:62
Belle2::TrackFindingCDC::QuadTreeItem::operator=
QuadTreeItem & operator=(QuadTreeItem const &copy)=delete
Do not copy!
Belle2::TrackFindingCDC::QuadTreeItem::m_usedFlag
bool m_usedFlag
This flag can be set to not use the item in the next quad tree search round.
Definition: QuadTreeItem.h:84
Belle2::TrackFindingCDC::QuadTreeItem::unsetUsedFlag
void unsetUsedFlag()
Unset the used flag again if you have noticed that a previous setting was wrong.
Definition: QuadTreeItem.h:74