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

Class representing an oriented hit wire including a hypotheses whether the causing track passes left or right. More...

#include <CDCRLWireHit.h>

Collaboration diagram for CDCRLWireHit:

Public Member Functions

 CDCRLWireHit ()=default
 Default constructor for ROOT.
 
 CDCRLWireHit (const CDCWireHit *wireHit, ERightLeft rlInfo=ERightLeft::c_Unknown)
 Constructs an oriented wire hit with unknown left right passage information. More...
 
 CDCRLWireHit (const CDCWireHit *wireHit, ERightLeft rlInfo, double driftLength, double driftLengthVariance)
 Constructs an oriented wire hit. More...
 
CDCRLWireHit reversed () const
 Returns the oriented wire hit with the opposite right left information.
 
void reverse ()
 Swiches the right left passage to its opposite inplace.
 
CDCRLWireHit getAlias () const
 Returns the aliased version of this oriented wire hit - here same as reverse.
 
bool operator== (const CDCRLWireHit &rhs) const
 Equality comparison based on wire hit, left right passage information.
 
bool operator< (const CDCRLWireHit &rhs) const
 Total ordering relation based on wire hit and left right passage information in this order of importance.
 
 operator const Belle2::CDCHit * () const
 Make the wire hit automatically castable to its underlying cdcHit.
 
const CDCHitgetHit () const
 Getter for the CDCHit pointer into the StoreArray.
 
const CDCWiregetWire () const
 Getter for the wire the oriented hit associated to.
 
bool isOnWire (const CDCWire &wire) const
 Checks if the oriented hit is associated with the give wire.
 
const WireIDgetWireID () const
 Getter for the WireID of the wire the hit is located on.
 
ISuperLayer getISuperLayer () const
 Getter for the superlayer id.
 
EStereoKind getStereoKind () const
 Getter for the stereo type of the underlying wire.
 
bool isAxial () const
 Indicator if the underlying wire is axial.
 
const Vector2DgetRefPos2D () const
 The two dimensional reference position of the underlying wire.
 
double getRefCylindricalR () const
 The distance from the beam line at reference position of the underlying wire.
 
const CDCWireHitgetWireHit () const
 Getter for the wire hit associated with the oriented hit.
 
bool hasWireHit (const CDCWireHit &wirehit) const
 Checks if the oriented hit is associated with the give wire hit.
 
double getRefDriftLength () const
 Getter for the drift length at the reference position of the wire.
 
void setRefDriftLength (double driftLength)
 Setter for the drift length at the reference position of the wire.
 
double getSignedRefDriftLength () const
 Getter for the drift length at the reference position of the wire.
 
double getRefDriftLengthVariance () const
 Getter for the variance of the drift length at the reference position of the wire.
 
void setRefDriftLengthVariance (double driftLengthVariance)
 Setter for the variance of the drift length at the reference position of the wire.
 
ERightLeft getRLInfo () const
 Getter for the right left passage information.
 
void setRLInfo (const ERightLeft rlInfo)
 Setter for the right left passage information.
 
Vector2D reconstruct2D (const CDCTrajectory2D &trajectory2D) const
 Reconstructs a position of primary ionisation on the drift circle. More...
 
Vector3D reconstruct3D (const CDCTrajectory2D &trajectory2D, double z=0) const
 Attempts to reconstruct a three dimensional position (especially of stereo hits). More...
 

Static Public Member Functions

static CDCRLWireHit average (const CDCRLWireHit &rlWireHit1, const CDCRLWireHit &rlWireHit2)
 Constructs the average of two wire hits with right left passage informations. More...
 
static CDCRLWireHit average (const CDCRLWireHit &rlWireHit1, const CDCRLWireHit &rlWireHit2, const CDCRLWireHit &rlWireHit3)
 Constructs the average of three wire hits with right left passage informations. More...
 
static CDCRLWireHit fromSimHit (const CDCWireHit *wirehit, const CDCSimHit &simhit)
 Constructs an oriented wire hit from a CDCSimHit and the associated wirehit. More...
 

Private Attributes

const CDCWireHitm_wireHit = nullptr
 Memory for the reference to the assiziated wire hit.
 
ERightLeft m_rlInfo = ERightLeft::c_Unknown
 Memory for the right left passage information of the oriented wire hit.
 
double m_refDriftLength = 0.0
 Memory for the reestimated drift length.
 
double m_refDriftLengthVariance = 0.0
 Memory for the reestimated drift length variance.
 

Friends

bool operator< (const CDCRLWireHit &rlWireHit, const CDCWire &wire)
 Defines wires and oriented wire hits to be coaligned on the wire on which they are based.
 
bool operator< (const CDCWire &wire, const CDCRLWireHit &rlWireHit)
 Defines oriented wire hits and wires to be coaligned on the wire on which they are based.
 
bool operator< (const CDCRLWireHit &rlWireHit, const CDCWireHit &wireHit)
 Defines wire hits and oriented wire hits to be coaligned on the wire hit on which they are based.
 
bool operator< (const CDCWireHit &wireHit, const CDCRLWireHit &rlWireHit)
 Defines oriented wire hits and wire hits to be coaligned on the wire hit on which they are based.
 

Detailed Description

Class representing an oriented hit wire including a hypotheses whether the causing track passes left or right.

The right left information is freely setable. More than one CDCRLWireHit can point to one CDCWireHit. For more information see

See also
CDCWireHit.

Definition at line 41 of file CDCRLWireHit.h.

Constructor & Destructor Documentation

◆ CDCRLWireHit() [1/2]

CDCRLWireHit ( const CDCWireHit wireHit,
ERightLeft  rlInfo = ERightLeft::c_Unknown 
)
explicit

Constructs an oriented wire hit with unknown left right passage information.

Parameters
wireHitThe wire hit the oriented hit is associated with.
rlInfoThe right left passage information of the wire relative to the track

Definition at line 43 of file CDCRLWireHit.cc.

44  : CDCRLWireHit(wireHit, rlInfo, wireHit->getRefDriftLength(), wireHit->getRefDriftLengthVariance())
45 {
46 }
CDCRLWireHit()=default
Default constructor for ROOT.

◆ CDCRLWireHit() [2/2]

CDCRLWireHit ( const CDCWireHit wireHit,
ERightLeft  rlInfo,
double  driftLength,
double  driftLengthVariance 
)

Constructs an oriented wire hit.

Parameters
wireHitThe wire hit the oriented hit is associated with.
rlInfoThe right left passage information of the wire relative to the track
driftLengthThe reestimated drift length
driftLengthVarianceThe reestimated drift length variance

Definition at line 48 of file CDCRLWireHit.cc.

Member Function Documentation

◆ average() [1/2]

CDCRLWireHit average ( const CDCRLWireHit rlWireHit1,
const CDCRLWireHit rlWireHit2 
)
static

Constructs the average of two wire hits with right left passage informations.

Takes the average of the estimated drift lengths.

Definition at line 59 of file CDCRLWireHit.cc.

◆ average() [2/2]

CDCRLWireHit average ( const CDCRLWireHit rlWireHit1,
const CDCRLWireHit rlWireHit2,
const CDCRLWireHit rlWireHit3 
)
static

Constructs the average of three wire hits with right left passage informations.

Takes the average of the estimated drift lengths.

Definition at line 81 of file CDCRLWireHit.cc.

◆ fromSimHit()

CDCRLWireHit fromSimHit ( const CDCWireHit wirehit,
const CDCSimHit simhit 
)
static

Constructs an oriented wire hit from a CDCSimHit and the associated wirehit.

This translates the sim hit to an oriented wire hit mainly to be able to compare the reconstructed values from the algorithm with the Monte Carlo information. It merely evaluates, if the true trajectory passes right or left of the wire.

Definition at line 110 of file CDCRLWireHit.cc.

◆ reconstruct2D()

Vector2D reconstruct2D ( const CDCTrajectory2D trajectory2D) const

Reconstructs a position of primary ionisation on the drift circle.

The result is the position of closest approach on the drift circle to the trajectory.

All positions and the trajectory are interpreted to lie at z=0. Also the right left passage hypotheses does not play a role in the reconstruction in any way.

Definition at line 164 of file CDCRLWireHit.cc.

◆ reconstruct3D()

Vector3D reconstruct3D ( const CDCTrajectory2D trajectory2D,
double  z = 0 
) const

Attempts to reconstruct a three dimensional position (especially of stereo hits).

This method makes a distinct difference between axial and stereo hits:

  • Stereo hits are moved out of the reference plane such that the oriented drift circle meets the trajectory in one point. Therefore the left right passage hypothesis has to be taken into account
  • For axial hits the reconstructed position is ambiguous in the z coordinate. Also the drift circle cannot moved such that it would meet the trajectory. Hence we default to the result of reconstruct2D, which yield the closest approach of the drift circle to the trajectory in the reference plane.

Definition at line 179 of file CDCRLWireHit.cc.


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