Belle II Software development
DirectedNodeNetworkContainer.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 <deque>
11
12#include <framework/datastore/RelationsObject.h>
13
14#include <tracking/spacePointCreation/SpacePoint.h>
15#include <tracking/trackFindingVXD/segmentNetwork/DirectedNodeNetwork.h>
16#include <tracking/trackFindingVXD/environment/VXDTFFilters.h>
17#include <tracking/trackFindingVXD/segmentNetwork/TrackNode.h>
18#include <tracking/trackFindingVXD/segmentNetwork/Segment.h>
19#include <tracking/trackFindingVXD/segmentNetwork/ActiveSector.h>
20#include <tracking/trackFindingVXD/segmentNetwork/VoidMetaInfo.h>
21#include <tracking/trackFindingVXD/segmentNetwork/CACell.h>
22
23
24namespace Belle2 {
41 public:
44
45
52 m_VIPSpacePoint(nullptr) {}
53
54
57 {
59 if (m_VIPSpacePoint != nullptr) { delete m_VIPSpacePoint; }
60 }
61
62
65
68
70 std::deque<Belle2::ActiveSector<StaticSectorType, Belle2::TrackNode>>& accessActiveSectors() { return m_activeSectors; }
71
73 std::deque<Belle2::TrackNode>& accessTrackNodes() { return m_trackNodes; }
74
77
80
82 std::deque<Belle2::Segment<Belle2::TrackNode>>& accessSegments() { return m_segments; }
83
84
86 int sizeActiveSectors() { return m_activeSectors.size(); }
88 int sizeTrackNodes() { return m_trackNodes.size(); }
90 int sizeSegments() { return m_segments.size(); }
91
108
125
130 void clear()
131 {
132 m_SegmentNetwork.clear();
133 }
134
137 {
138 m_VIPSpacePoint = new SpacePoint(pos, posError, {0.5, 0.5}, {false, false}, VxdID(0), Belle2::VXD::SensorInfoBase::VXD);
140 }
141
144
145
146 private:
155
156 protected:
157
174
178
180 std::deque<ActiveSector<StaticSectorType, TrackNode>> m_activeSectors;
181
184
186 std::deque<TrackNode> m_trackNodes;
187
190
192 std::deque<Segment<TrackNode>> m_segments;
193
196
199 };
201}
The ActiveSector Class.
Definition: ActiveSector.h:29
The CACell class This Class stores all relevant information one wants to have stored in a cell for a ...
Definition: CACell.h:20
The Container stores the output produced by the SegmentNetworkProducerModule.
DirectedNodeNetwork< TrackNode, Belle2::VoidMetaInfo > m_HitNetwork
Stores the full network of TrackNode< SpaacePoint>, which were accepted by activated two-hit-filters ...
int get_activeSectorConnections()
Returns number of activeSectors connections made.
int get_activeSectorAddedConnections()
Returns number of added activeSectors connections made.
int sizeTrackNodes()
Returns number of trackNodes found.
DirectedNodeNetwork< ActiveSector< StaticSectorType, TrackNode >, Belle2::VoidMetaInfo > m_ActiveSectorNetwork
************************* DATA MEMBERS *************************
int get_trackNodesCollected()
Returns number of trackNodes collected.
DirectedNodeNetwork< Belle2::TrackNode, Belle2::VoidMetaInfo > & accessHitNetwork()
Returns reference to the HitNetwork stored in this container, intended for read and write access.
std::deque< Belle2::TrackNode > & accessTrackNodes()
Returns reference to the actual trackNodes stored in this container, intended for read and write acce...
void set_activeSectorConnections(int in)
Sets number of activeSectors connections made.
int m_trackNodeAddedConnections
Number of added trackNodes connections made.
int m_segmentConnections
Number of segments connections made.
int get_collectedPaths()
Returns number of paths found.
void setVirtualInteractionPoint(B2Vector3D &pos, B2Vector3D &posError)
Passes parameters for creating a virtual interaction point.
void set_activeSectorAddedConnections(int in)
Sets number of added activeSectors connections made.
std::deque< ActiveSector< StaticSectorType, TrackNode > > m_activeSectors
Stores the actual ActiveSectors, since the ActiveSectorNetwork does only keep references.
void set_trackNodesCollected(int in)
Sets number of trackNodes collected.
DirectedNodeNetwork< Segment< TrackNode >, Belle2::CACell > m_SegmentNetwork
Stores the full network of Segments, which were accepted by activated three-hit-filters of the assign...
std::deque< Belle2::Segment< Belle2::TrackNode > > & accessSegments()
Returns reference to the actual segments stored in this container, intended for read and write access...
std::deque< TrackNode > m_trackNodes
Stores the actual trackNodes, since the SegmentNetwork does only keep references.
DirectedNodeNetwork< Belle2::Segment< Belle2::TrackNode >, Belle2::CACell > & accessSegmentNetwork()
Returns reference to the SegmentNetwork stored in this container, intended for read and write access.
int m_trackNodesCollected
Number of trackNodes collected.
int m_segmentAddedConnections
Number of added segments connections made.
int m_trackNodeConnections
Number of trackNodes connections made.
int sizeActiveSectors()
Returns number of activeSectors found.
void set_trackNodeConnections(int in)
Sets number of trackNodes connections made.
void set_segmentAddedConnections(int in)
Sets number of added segments connections made.
Belle2::TrackNode * m_VirtualInteractionPoint
Stores a SpacePoint representing the virtual interaction point if set, nullptr if not.
int sizeSegments()
Returns number of segments found.
void set_segmentConnections(int in)
Sets number of segments connections made.
int get_trackNodeConnections()
Returns number of trackNodes connections made.
int get_segmentAddedConnections()
Returns number of added segments connections made.
std::deque< Belle2::ActiveSector< StaticSectorType, Belle2::TrackNode > > & accessActiveSectors()
Returns reference to the actual ActiveSectors stored in this container, intended for read and write a...
int get_segmentConnections()
Returns number of segments connections made.
void set_trackNodeAddedConnections(int in)
Sets number of added trackNodes connections made.
void clear()
Clear directed node network container Called to clear the directed node network container if the segm...
Belle2::TrackNode * getVirtualInteractionPoint()
Returns reference to the Virtual interactionPoint stored here.
std::deque< Segment< TrackNode > > m_segments
Stores the actual Segments, since the SegmentNetwork does only keep references.
ClassDef(DirectedNodeNetworkContainer, 0)
This class does not need a streamer as it is not supposed to be stored.
DirectedNodeNetwork< Belle2::ActiveSector< StaticSectorType, Belle2::TrackNode >, Belle2::VoidMetaInfo > & accessActiveSectorNetwork()
************************* PUBLIC MEMBER FUNCTIONS *************************
void set_collectedPaths(int in)
Sets number of paths found.
int m_activeSectorAddedConnections
Number of added activeSectors connections made.
int get_trackNodeAddedConnections()
Returns number of added trackNodes connections made.
int m_activeSectorConnections
Number of activeSectors connections made.
SpacePoint * m_VIPSpacePoint
Stores the SpacePoint needed for the virtual IP.
Network of directed nodes of the type EntryType.
Defines interface for accessing relations of objects in StoreArray.
The Segment class This class represents segments of track candidates needed for TrackFinderVXD-Module...
Definition: Segment.h:25
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
Definition: SpacePoint.h:42
class to describe a static sector of the sector map.
Definition: StaticSector.h:29
@ VXD
Any type of VXD Sensor.
The most CPU efficient MetaInfo for the DirectedNode-requirements (even if useless).
Definition: VoidMetaInfo.h:17
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
Abstract base class for different kinds of events.
Minimal class to store combination of sector and spacePoint, since SpacePoint can not carry sectorCon...
Definition: TrackNode.h:22