Belle II Software  release-08-01-10
CDCSegment2D Class Reference

A reconstructed sequence of two dimensional hits in one super layer. More...

#include <CDCSegment2D.h>

Inheritance diagram for CDCSegment2D:
Collaboration diagram for CDCSegment2D:

Public Member Functions

bool operator< (const CDCSegment2D &segment2D) const
 Comparision of segments up to the super cluster id keeping them close together on sort.
 
Relation< const CDCSegment2D, const CDCSegment2DmakeRelation (const CDCSegment2D *segment) const
 Helper constructor to create a relation in python.
 
WeightedRelation< const CDCSegment2D, const CDCSegment2DmakeWeightedRelation (double weight, const CDCSegment2D *segment) const
 Helper constructor to create a relation in python.
 
std::vector< const CDCWire * > getWireSegment () const
 Getter for the vector of wires the hits of this segment are based on in the same order.
 
CDCWireHitSegment getWireHitSegment () const
 Getter for the vector of the wire hits of this segment are based on in the same order.
 
CDCRLWireHitSegment getRLWireHitSegment () const
 Getter for the vector of right left oriented the hits of this segment.
 
CDCSegment2D getAlias () const
 Getter for the alias version of the segment - fit not copied.
 
int getNRLSwitches () const
 Getter for the number of changes in the right left passage in the segment.
 
double getRLAsymmetry () const
 Getter for the sum of right left information relative to the size.
 
CDCSegment2D reversed () const
 Makes a copy of the segment with the reversed hits in the opposite order.
 
void reverse ()
 Reverses the order of hits and their right left passage hypotheses inplace.
 
AutomatonCellgetAutomatonCell () const
 Mutable getter for the automaton cell.
 
AutomatonCelloperator-> () const
 Indirection to the automaton cell for easier access to the flags.
 
void unsetAndForwardMaskedFlag (bool toHits=false) const
 Unset the masked flag of the automaton cell of this segment and of all contained wire hits.
 
void setAndForwardMaskedFlag (bool toHits=false) const
 Set the masked flag of the automaton cell of this segment and forward the masked flag to all contained wire hits.
 
void receiveMaskedFlag (bool fromHits=false) const
 Check all contained wire hits if one has the masked flag. More...
 
int getISuperCluster () const
 Getter for the global super cluster id.
 
void setISuperCluster (int iSuperCluster) const
 Setter for the globale super cluster id.
 
void receiveISuperCluster () const
 Setter for the super cluster id based on the hit content.
 
bool isFullyTaken (unsigned int maxNotTaken=0) const
 Returns false, if there are more than N hits in the range which does not have a taken flag.
 
EStereoKind getStereoKind () const
 Returns the common stereo type of all hits. More...
 
bool isAxial () const
 Indicator if the underlying wires are axial.
 
ISuperLayer getISuperLayer () const
 Returns the common super layer id of all stored tracking hits. More...
 
const std::vector< CDCRecoHit2D > & items () const
 Legacy accessor for the items of the segments, still used in some corners.
 
CDCTrajectory2DgetTrajectory2D () const
 Getter for the two dimensional trajectory fitted to the segment.
 
void setTrajectory2D (const CDCTrajectory2D &trajectory2D) const
 Setter for the two dimensional trajectory fitted to the segment.
 
void sortByArcLength2D ()
 Sort the recoHits according to their perpS information.
 
double getAliasScore () const
 Getter for the flag that this segment may have an aliased version.
 
void setAliasScore (double aliasScore)
 Setter for the flag that this segment may have an aliased version.
 

Static Public Member Functions

static CDCSegment2D condense (const CDCTangentSegment &tangentSegment)
 Averages the reconstructed positions from hits that overlap in adjacent tangents in the given tangent segment.
 
static CDCSegment2D condense (const std::vector< const CDCTangent * > &tangentPath)
 Averages the reconstructed positions from hits that overlap in adjacent tangents in the given tangent path.
 
static CDCSegment2D condense (const CDCFacetSegment &facetSegment)
 Averages the reconstructed positions from hits that overlap in adjacent facets in the given facet segment.
 
static CDCSegment2D condense (const std::vector< const CDCFacet * > &facetPath)
 Averages the reconstructed positions from hits that overlap in adjacent facet in the given facet path.
 
static CDCSegment2D condense (const std::vector< const CDCSegment2D * > &segmentPath)
 Flattens a series of segments to one segment. More...
 
static CDCSegment2D reconstructUsingTangents (const CDCRLWireHitSegment &rlWireHitSegment)
 Reconstruct from wire hits with attached right left passage hypotheses by constructing tangents between adjacent hits pairs and averaging the reconstucted position.
 
static CDCSegment2D reconstructUsingFacets (const CDCRLWireHitSegment &rlWireHitSegment)
 Reconstruct from wire hits with attached right left passage hypotheses by constructing facets between adjacent hits triples and averaging the reconstucted position.
 

Public Attributes

elements
 STL member.
 

Private Attributes

AutomatonCell m_automatonCell
 Memory for the automaton cell. More...
 
int m_iSuperCluster = -1
 Memory for the global super cluster id.
 
CDCTrajectory2D m_trajectory2D
 Memory for the two dimensional trajectory fitted to this segment.
 
double m_aliasScore
 Boolean flag to indicate that this segment has a valid alias version.
 

Detailed Description

A reconstructed sequence of two dimensional hits in one super layer.

Definition at line 39 of file CDCSegment2D.h.

Member Function Documentation

◆ condense()

CDCSegment2D condense ( const std::vector< const CDCSegment2D * > &  segmentPath)
static

Flattens a series of segments to one segment.

Does not copy any fit.

Definition at line 257 of file CDCSegment2D.cc.

258 {
259  CDCSegment2D result;
260  double aliasScore = 0;
261  for (const CDCSegment2D* ptrSegment2D : segmentPath) {
262  assert(ptrSegment2D);
263  const CDCSegment2D& segment2D = *ptrSegment2D;
264  if (result.empty()) {
265  result = segment2D;
266  } else {
267  for (const CDCRecoHit2D& recoHit2D : segment2D) {
268  result.push_back(recoHit2D);
269  }
270  }
271  aliasScore = aliasScore + segment2D.getAliasScore();
272  }
273  result.receiveISuperCluster();
274  result.setAliasScore(aliasScore);
275  return result;
276 }
Class representing a two dimensional reconstructed hit in the central drift chamber.
Definition: CDCRecoHit2D.h:47
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:39

◆ getISuperLayer()

ISuperLayer getISuperLayer ( ) const
inlineinherited

Returns the common super layer id of all stored tracking hits.

This checks if all items are located in the same superlayer and returns the superlayer id of the later. Returns ISuperLayerUtil::c_Invalid, if the superlayer is not shared among the hits.

Definition at line 57 of file CDCSegment.h.

◆ getStereoKind()

EStereoKind getStereoKind ( ) const
inlineinherited

Returns the common stereo type of all hits.

This checks if all tracking hits are located in the same superlayer and
returns the stereo type of the later. Returns EStereoKind::c_Invalid if the superlayer
is not shared among the tracking hits.

Definition at line 39 of file CDCSegment.h.

◆ receiveMaskedFlag()

void receiveMaskedFlag ( bool  fromHits = false) const

Check all contained wire hits if one has the masked flag.

Set the masked flag of this segment in case at least one of the contained wire hits is flagged as masked.

Definition at line 438 of file CDCSegment2D.cc.

Member Data Documentation

◆ m_automatonCell

AutomatonCell m_automatonCell
mutableprivate

Memory for the automaton cell.

It is declared mutable because it can vary rather freely despite of the hit content might be required fixed.

Definition at line 173 of file CDCSegment2D.h.


The documentation for this class was generated from the following files: