Belle II Software development
CDCSegment2D Class Reference

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

#include <CDCSegment2D.h>

Inheritance diagram for CDCSegment2D:
CDCSegment< CDCRecoHit2D >

Public Member Functions

bool operator< (const CDCSegment2D &segment2D) const
 Comparison 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.
 
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.
 
bool isAxial () const
 Indicator if the underlying wires are axial.
 
ISuperLayer getISuperLayer () const
 Returns the common super layer id of all stored tracking hits.
 
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.
 
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 reconstructed 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 reconstructed position.
 

Public Attributes

elements
 STL member.
 

Private Attributes

AutomatonCell m_automatonCell
 Memory for the automaton cell.
 
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() [1/5]

CDCSegment2D condense ( const CDCFacetSegment facetSegment)
static

Averages the reconstructed positions from hits that overlap in adjacent facets in the given facet segment.

Definition at line 236 of file CDCSegment2D.cc.

237{
238 const std::vector<CDCFacet>& facets = facetSegment;
239 CDCSegment2D segment2D = ::condenseFacetSegment(facets);
240 segment2D.setTrajectory2D(facetSegment.getTrajectory2D());
241 segment2D.receiveISuperCluster();
242 segment2D.setAliasScore(facetSegment.getAliasScore());
243 return segment2D;
244}
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:39
void receiveISuperCluster() const
Setter for the super cluster id based on the hit content.
void setTrajectory2D(const CDCTrajectory2D &trajectory2D) const
Setter for the two dimensional trajectory fitted to the segment.
Definition: CDCSegment.h:75
CDCTrajectory2D & getTrajectory2D() const
Getter for the two dimensional trajectory fitted to the segment.
Definition: CDCSegment.h:69
void setAliasScore(double aliasScore)
Setter for the flag that this segment may have an aliased version.
Definition: CDCSegment.h:96
double getAliasScore() const
Getter for the flag that this segment may have an aliased version.
Definition: CDCSegment.h:90

◆ condense() [2/5]

CDCSegment2D condense ( const CDCTangentSegment tangentSegment)
static

Averages the reconstructed positions from hits that overlap in adjacent tangents in the given tangent segment.

Definition at line 215 of file CDCSegment2D.cc.

216{
217 const std::vector<CDCTangent>& tangents = tangentSegment;
218 CDCSegment2D segment2D = ::condenseTangentSegment(tangents);
219 segment2D.setTrajectory2D(tangentSegment.getTrajectory2D());
220 segment2D.receiveISuperCluster();
221 segment2D.setAliasScore(tangentSegment.getAliasScore());
222 return segment2D;
223}

◆ condense() [3/5]

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

Averages the reconstructed positions from hits that overlap in adjacent facet in the given facet path.

Definition at line 246 of file CDCSegment2D.cc.

247{
248 std::vector<std::reference_wrapper<const CDCFacet> > facets;
249 facets.reserve(facetPath.size());
250 for (const CDCFacet* facet : facetPath) {
251 facets.push_back(std::ref(*facet));
252 }
253
254 return ::condenseFacetSegment(facets);
255}
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:32

◆ condense() [4/5]

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

◆ condense() [5/5]

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

Averages the reconstructed positions from hits that overlap in adjacent tangents in the given tangent path.

Definition at line 225 of file CDCSegment2D.cc.

226{
227 std::vector<std::reference_wrapper<const CDCTangent> > tangents;
228 tangents.reserve(tangentPath.size());
229 for (const CDCTangent* tangent : tangentPath) {
230 tangents.push_back(std::ref(*tangent));
231 }
232
233 return ::condenseTangentSegment(tangents);
234}
Class representing a linear track piece between two oriented wire hits.
Definition: CDCTangent.h:40

◆ getAlias()

CDCSegment2D getAlias ( ) const

Getter for the alias version of the segment - fit not copied.

Definition at line 344 of file CDCSegment2D.cc.

345{
346 CDCSegment2D segment;
347 for (const CDCRecoHit2D& recoHit2D : *this) {
348 segment.push_back(recoHit2D.getAlias());
349 }
350 segment.setISuperCluster(getISuperCluster());
351 segment.setAliasScore(getAliasScore());
352 return segment;
353}
CDCRecoHit2D getAlias() const
Getter for the alias version of the reco hit.
int getISuperCluster() const
Getter for the global super cluster id.
Definition: CDCSegment2D.h:150

◆ getAliasScore()

double getAliasScore ( ) const
inlineinherited

Getter for the flag that this segment may have an aliased version.

Definition at line 90 of file CDCSegment.h.

91 {
92 return m_aliasScore;
93 }
double m_aliasScore
Boolean flag to indicate that this segment has a valid alias version.
Definition: CDCSegment.h:106

◆ getAutomatonCell()

AutomatonCell & getAutomatonCell ( ) const
inline

Mutable getter for the automaton cell.

Definition at line 119 of file CDCSegment2D.h.

120 {
121 return m_automatonCell;
122 }
AutomatonCell m_automatonCell
Memory for the automaton cell.
Definition: CDCSegment2D.h:173

◆ getISuperCluster()

int getISuperCluster ( ) const
inline

Getter for the global super cluster id.

Definition at line 150 of file CDCSegment2D.h.

151 {
152 return m_iSuperCluster;
153 }
int m_iSuperCluster
Memory for the global super cluster id.
Definition: CDCSegment2D.h:176

◆ 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.

58 {
59 return ISuperLayerUtil::getFrom(this->front());
60 }

◆ getNRLSwitches()

int getNRLSwitches ( ) const

Getter for the number of changes in the right left passage in the segment.

Definition at line 355 of file CDCSegment2D.cc.

356{
357 ERightLeft rlInfo = ERightLeft::c_Invalid;
358 int nRLSwitches = -1;
359 for (const CDCRecoHit2D& recoHit2D : *this) {
360 if (rlInfo != recoHit2D.getRLInfo()) {
361 rlInfo = recoHit2D.getRLInfo();
362 ++nRLSwitches;
363 }
364 }
365 return nRLSwitches;
366}
ERightLeft getRLInfo() const
Getter for the right left passage information.
Definition: CDCRecoHit2D.h:205
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
Definition: ERightLeft.h:25

◆ getRLAsymmetry()

double getRLAsymmetry ( ) const

Getter for the sum of right left information relative to the size.

Definition at line 368 of file CDCSegment2D.cc.

369{
370 int rlSum = 0;
371 for (const CDCRecoHit2D& recoHit2D : *this) {
372 if (isValid(recoHit2D.getRLInfo())) {
373 rlSum += recoHit2D.getRLInfo();
374 }
375 }
376 return static_cast<double>(rlSum) / size();
377}
bool isValid(EForwardBackward eForwardBackward)
Check whether the given enum instance is one of the valid values.

◆ getRLWireHitSegment()

CDCRLWireHitSegment getRLWireHitSegment ( ) const

Getter for the vector of right left oriented the hits of this segment.

Definition at line 379 of file CDCSegment2D.cc.

380{
381 CDCRLWireHitSegment rlWireHitSegment;
382 for (const CDCRecoHit2D& recoHit2D : *this) {
383 rlWireHitSegment.push_back(recoHit2D.getRLWireHit());
384 }
385 rlWireHitSegment.setTrajectory2D(getTrajectory2D());
386 rlWireHitSegment.setAliasScore(getAliasScore());
387 return rlWireHitSegment;
388}
A segment consisting of two dimensional reconstructed hits.
const CDCRLWireHit & getRLWireHit() const
Getter for the oriented wire hit associated with the reconstructed hit.
Definition: CDCRecoHit2D.h:281

◆ 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.

40 {
41 return ISuperLayerUtil::getStereoKind(getISuperLayer());
42 }
ISuperLayer getISuperLayer() const
Returns the common super layer id of all stored tracking hits.
Definition: CDCSegment.h:57

◆ getTrajectory2D()

CDCTrajectory2D & getTrajectory2D ( ) const
inlineinherited

Getter for the two dimensional trajectory fitted to the segment.

Definition at line 69 of file CDCSegment.h.

70 {
71 return m_trajectory2D;
72 }
CDCTrajectory2D m_trajectory2D
Memory for the two dimensional trajectory fitted to this segment.
Definition: CDCSegment.h:103

◆ getWireHitSegment()

CDCWireHitSegment getWireHitSegment ( ) const

Getter for the vector of the wire hits of this segment are based on in the same order.

Definition at line 333 of file CDCSegment2D.cc.

334{
335 CDCWireHitSegment wireHitSegment;
336 for (const CDCRecoHit2D& recoHit2D : *this) {
337 wireHitSegment.push_back(&(recoHit2D.getWireHit()));
338 }
339 wireHitSegment.setTrajectory2D(getTrajectory2D());
340 wireHitSegment.setAliasScore(getAliasScore());
341 return wireHitSegment;
342}
const CDCWireHit & getWireHit() const
Getter for the wire hit associated with the reconstructed hit.
Definition: CDCRecoHit2D.h:193
A segment consisting of two dimensional reconstructed hits.

◆ getWireSegment()

std::vector< const CDCWire * > getWireSegment ( ) const

Getter for the vector of wires the hits of this segment are based on in the same order.

Definition at line 324 of file CDCSegment2D.cc.

325{
326 std::vector<const CDCWire*> wireSegment;
327 for (const CDCRecoHit2D& recoHit2D : *this) {
328 wireSegment.push_back(&(recoHit2D.getWire()));
329 }
330 return wireSegment;
331}
const CDCWire & getWire() const
Getter for the wire the reconstructed hit associated to.
Definition: CDCRecoHit2D.h:175

◆ isAxial()

bool isAxial ( ) const
inlineinherited

Indicator if the underlying wires are axial.

Definition at line 45 of file CDCSegment.h.

46 {
47 return getStereoKind() == EStereoKind::c_Axial;
48 }
EStereoKind getStereoKind() const
Returns the common stereo type of all hits.
Definition: CDCSegment.h:39

◆ isFullyTaken()

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.

Definition at line 450 of file CDCSegment2D.cc.

451{
452 unsigned int notTakenCounter = 0;
453 for (const CDCRecoHit2D& recoHit : *this) {
454 if (not recoHit.getWireHit().getAutomatonCell().hasTakenFlag()) {
455 notTakenCounter++;
456 if (notTakenCounter > maxNotTaken) {
457 return false;
458 }
459 }
460 }
461
462 return true;
463}
bool hasTakenFlag() const
Gets the current state of the taken marker flag.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition: CDCWireHit.h:286

◆ items()

const std::vector< CDCRecoHit2D > & items ( ) const
inlineinherited

Legacy accessor for the items of the segments, still used in some corners.

Definition at line 63 of file CDCSegment.h.

64 {
65 return *this;
66 }

◆ makeRelation()

Relation< const CDCSegment2D > makeRelation ( const CDCSegment2D segment) const

Helper constructor to create a relation in python.

Definition at line 307 of file CDCSegment2D.cc.

308{
309 return {this, segment};
310}

◆ makeWeightedRelation()

WeightedRelation< const CDCSegment2D > makeWeightedRelation ( double  weight,
const CDCSegment2D segment 
) const

Helper constructor to create a relation in python.

Definition at line 312 of file CDCSegment2D.cc.

313{
314 return {this, weight, segment};
315}

◆ operator->()

AutomatonCell * operator-> ( ) const
inline

Indirection to the automaton cell for easier access to the flags.

Definition at line 125 of file CDCSegment2D.h.

126 {
127 return &m_automatonCell;
128 }

◆ operator<()

bool operator< ( const CDCSegment2D segment2D) const

Comparison of segments up to the super cluster id keeping them close together on sort.

Definition at line 317 of file CDCSegment2D.cc.

318{
319 return (this->getISuperLayer() < segment2D.getISuperLayer()) or
320 (not(segment2D.getISuperLayer() < this->getISuperLayer()) and
321 this->getISuperCluster() < segment2D.getISuperCluster());
322}

◆ receiveISuperCluster()

void receiveISuperCluster ( ) const

Setter for the super cluster id based on the hit content.

Definition at line 465 of file CDCSegment2D.cc.

466{
467 auto getISuperClusterOfHit = [](const CDCRecoHit2D & recoHit2d) -> int {
468 return recoHit2d.getWireHit().getISuperCluster();
469 };
470 int iSuperCluster = common(*this, getISuperClusterOfHit, -1);
471 setISuperCluster(iSuperCluster);
472}
void setISuperCluster(int iSuperCluster) const
Setter for the globale super cluster id.
Definition: CDCSegment2D.h:156

◆ 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.

439{
440 if (not fromHits) return;
441 for (const CDCRecoHit2D& recoHit2D : *this) {
442 const CDCWireHit& wireHit = recoHit2D.getWireHit();
443 if (wireHit.getAutomatonCell().hasMaskedFlag()) {
445 return;
446 }
447 }
448}
void setMaskedFlag(bool setTo=true)
Sets the masked flag to the given value. Default value true.
bool hasMaskedFlag() const
Gets the current state of the masked marker flag.
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
Definition: CDCSegment2D.h:119
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:55

◆ reconstructUsingFacets()

CDCSegment2D reconstructUsingFacets ( const CDCRLWireHitSegment rlWireHitSegment)
static

Reconstruct from wire hits with attached right left passage hypotheses by constructing facets between adjacent hits triples and averaging the reconstructed position.

Definition at line 297 of file CDCSegment2D.cc.

298{
299 if (rlWireHitSegment.size() < 3) {
300 return reconstructUsingTangents(rlWireHitSegment);
301 } else {
302 CDCFacetSegment facetSegment = CDCFacetSegment::create(rlWireHitSegment);
303 return condense(facetSegment);
304 }
305}
A segment consisting of adjacent facets.
static CDCFacetSegment create(const CDCRLWireHitSegment &rlWireHitSegment)
Construct a train of facets from the given oriented wire hits.
static CDCSegment2D reconstructUsingTangents(const CDCRLWireHitSegment &rlWireHitSegment)
Reconstruct from wire hits with attached right left passage hypotheses by constructing tangents betwe...
static CDCSegment2D condense(const CDCTangentSegment &tangentSegment)
Averages the reconstructed positions from hits that overlap in adjacent tangents in the given tangent...

◆ reconstructUsingTangents()

CDCSegment2D reconstructUsingTangents ( const CDCRLWireHitSegment rlWireHitSegment)
static

Reconstruct from wire hits with attached right left passage hypotheses by constructing tangents between adjacent hits pairs and averaging the reconstructed position.

Definition at line 278 of file CDCSegment2D.cc.

279{
280 if (rlWireHitSegment.size() == 1) {
281 CDCSegment2D segment2D;
282 Vector2D zeroDisp2D(0.0, 0.0);
283 segment2D.emplace_back(rlWireHitSegment.front(), zeroDisp2D);
284 segment2D.setTrajectory2D(rlWireHitSegment.getTrajectory2D());
285 segment2D.receiveISuperCluster();
286 segment2D.setAliasScore(rlWireHitSegment.getAliasScore());
287 return segment2D;
288 } else {
289 CDCTangentSegment tangentSegment;
290 createTangentSegment(rlWireHitSegment, tangentSegment);
291 tangentSegment.setTrajectory2D(rlWireHitSegment.getTrajectory2D());
292 tangentSegment.setAliasScore(rlWireHitSegment.getAliasScore());
293 return condense(tangentSegment);
294 }
295}
A segment consisting of adjacent tangents.
A two dimensional vector which is equipped with functions for correct handling of orientation relate...
Definition: Vector2D.h:32

◆ reverse()

void reverse ( )

Reverses the order of hits and their right left passage hypotheses inplace.

Definition at line 405 of file CDCSegment2D.cc.

406{
407 // Reverse the trajectory
409
410 // Reverse the left right passage hypotheses
411 for (CDCRecoHit2D& recoHit2D : *this) {
412 recoHit2D.reverse();
413 }
414 // Reverse the arrangement of hits.
415 std::reverse(begin(), end());
416}
void reverse()
Turns the orientation in place.
Definition: CDCRecoHit2D.cc:93
void reverse()
Reverses the trajectory in place.

◆ reversed()

CDCSegment2D reversed ( ) const

Makes a copy of the segment with the reversed hits in the opposite order.

Definition at line 390 of file CDCSegment2D.cc.

391{
392 CDCSegment2D reverseSegment;
393 reverseSegment.reserve(size());
394 for (const CDCRecoHit2D& recohit : reversedRange(*this)) {
395 reverseSegment.push_back(recohit.reversed());
396 }
397
398 reverseSegment.setTrajectory2D(getTrajectory2D().reversed());
399 reverseSegment.m_automatonCell = m_automatonCell;
400 reverseSegment.setISuperCluster(getISuperCluster());
401 reverseSegment.setAliasScore(getAliasScore());
402 return reverseSegment;
403}
CDCSegment2D reversed() const
Makes a copy of the segment with the reversed hits in the opposite order.

◆ setAliasScore()

void setAliasScore ( double  aliasScore)
inlineinherited

Setter for the flag that this segment may have an aliased version.

Definition at line 96 of file CDCSegment.h.

97 {
98 m_aliasScore = aliasScore;
99 }

◆ setAndForwardMaskedFlag()

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.

Definition at line 428 of file CDCSegment2D.cc.

429{
431 if (not toHits) return;
432 for (const CDCRecoHit2D& recoHit2D : *this) {
433 const CDCWireHit& wireHit = recoHit2D.getWireHit();
435 }
436}

◆ setISuperCluster()

void setISuperCluster ( int  iSuperCluster) const
inline

Setter for the globale super cluster id.

Definition at line 156 of file CDCSegment2D.h.

157 {
158 m_iSuperCluster = iSuperCluster;
159 }

◆ setTrajectory2D()

void setTrajectory2D ( const CDCTrajectory2D trajectory2D) const
inlineinherited

Setter for the two dimensional trajectory fitted to the segment.

Definition at line 75 of file CDCSegment.h.

76 {
77 m_trajectory2D = trajectory2D;
78 }

◆ sortByArcLength2D()

void sortByArcLength2D ( )
inlineinherited

Sort the recoHits according to their perpS information.

Definition at line 81 of file CDCSegment.h.

82 {
83 // cppcheck-suppress constParameter
84 std::stable_sort(this->begin(), this->end(), [](const T & recoHit, const T & otherRecoHit) {
85 return recoHit.getArcLength2D() < otherRecoHit.getArcLength2D();
86 });
87 }

◆ unsetAndForwardMaskedFlag()

void unsetAndForwardMaskedFlag ( bool  toHits = false) const

Unset the masked flag of the automaton cell of this segment and of all contained wire hits.

Definition at line 418 of file CDCSegment2D.cc.

419{
421 if (not toHits) return;
422 for (const CDCRecoHit2D& recoHit2D : *this) {
423 const CDCWireHit& wireHit = recoHit2D.getWireHit();
425 }
426}
void unsetMaskedFlag()
Resets the masked flag to false.

Member Data Documentation

◆ m_aliasScore

double m_aliasScore
privateinherited

Boolean flag to indicate that this segment has a valid alias version.

Definition at line 106 of file CDCSegment.h.

◆ 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.

◆ m_iSuperCluster

int m_iSuperCluster = -1
mutableprivate

Memory for the global super cluster id.

Definition at line 176 of file CDCSegment2D.h.

◆ m_trajectory2D

CDCTrajectory2D m_trajectory2D
mutableprivateinherited

Memory for the two dimensional trajectory fitted to this segment.

Definition at line 103 of file CDCSegment.h.


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