 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
14 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
15 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
17 #include <tracking/trackFindingCDC/topology/EStereoKind.h>
18 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
20 #include <tracking/trackFindingCDC/numerics/ERightLeft.h>
21 #include <tracking/trackFindingCDC/numerics/ERotation.h>
31 namespace TrackFindingCDC {
33 class CDCTrajectory3D;
34 class CDCTrajectory2D;
35 class CDCTrajectorySZ;
85 const CDCTrajectory2D& trajectory2D);
93 const CDCTrajectory2D& trajectory2D);
102 const CDCTrajectory2D& trajectory2D);
114 const CDCTrajectory2D& trajectory2D);
118 const CDCTrajectory3D& trajectory3D);
137 const CDCTrajectory2D& trajectory2D,
138 const CDCTrajectorySZ& trajectorySZ);
188 return recoHit3D.getRLWireHit() < wire;
194 return wire < recoHit3D.getRLWireHit();
200 return recoHit3D.getRLWireHit() < wireHit;
206 return wireHit < recoHit3D.getRLWireHit();
Vector2D getRecoDisp2D() const
Gets the displacement from the wire position in the xy plain at the reconstructed position.
const CDCWire & getWire() const
Getter for the wire.
void setRLInfo(const ERightLeft rlInfo)
Setter for the right left passage information.
HepGeom::Vector3D< double > Vector3D
3D Vector
Class representing a three dimensional reconstructed hit.
Vector3D m_recoPos3D
Memory for the reconstructed hit position.
Vector2D orthogonal() const
Orthogonal vector to the counterclockwise direction.
CDCRecoHit3D()=default
Default constructor for ROOT.
Vector2D getRecoWirePos2D() const
Returns the position of the wire in the xy plain the reconstructed position is located in.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
CDCRecoHit3D reversed() const
Returns the recohit with the opposite right left information.
ISuperLayer getISuperLayer() const
Getter for the superlayer id.
void setRecoPos3D(const Vector3D &recoPos3D)
Setter for the 3d position of the hit.
const CDCWireHit & getWireHit() const
Getter for the wire hit associated with the oriented hit.
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
ISuperLayer getISuperLayer() const
Getter for the superlayer id.
const CDCWire & getWire() const
Getter for the wire the oriented hit associated to.
bool isAxial() const
Indicator if the underlying wire is axial.
static CDCRecoHit3D fromSimHit(const CDCWireHit *wireHit, const CDCSimHit &simHit)
Constructs a three dimensional reconstructed hit from a sim hit and the assoziated wirehit.
double getRecoZ() const
Getter for the z coordinate of the reconstructed position.
void snapToDriftCircle(bool switchSide=false)
Scales the displacement vector in place to lie on the dirft circle.
double getSignedRefDriftLength() const
Getter for the drift length at the reference position of the wire.
void reverse()
Turns the orientation in place.
const CDCWireHit & getWireHit() const
Getter for the wire hit.
double getArcLength2D() const
Getter for the travel distance in the xy projection.
ERightLeft getRLInfo() const
Getter for the right left passage information.
const Vector2D & getRecoPos2D() const
Getter for the 2d position of the hit.
static CDCRecoHit3D reconstructNearest(const CDCWireHit *axialWireHit, const CDCTrajectory2D &trajectory2D)
Reconstruct a three dimensional hit from a wire hit (as in reconstruct(rlWireHit, trajectory2D)),...
double getAlpha() const
Getter for the direction of flight relative to the position.
EStereoKind getStereoKind() const
Getter for the stereo type of the underlying wire.
void setRLWireHit(const CDCRLWireHit &rlWireHit)
Setter for the oriented wire hit assoziated with the reconstructed hit.
static CDCRecoHit3D average(const CDCRecoHit3D &first, const CDCRecoHit3D &second)
Constructs the average of two reconstructed hit positions.
bool isOnWire(const CDCWire &wire) const
Checks if the reconstructed hit is assoziated with the give wire.
bool hasWireHit(const CDCWireHit &wirehit) const
Checks if the oriented hit is associated with the give wire hit.
double getRefDriftLengthVariance() const
Getter for the variance of the drift length at the reference position of the wire.
double getRecoDriftLengthVariance() const
Returns the drift length variance next to the reconstructed position.
Vector2D getFlightDirection2D() const
Getter for the direction of flight.
Class representing a two dimensional reconstructed hit in the central drift chamber.
bool isOnWire(const CDCWire &wire) const
Checks if the oriented hit is associated with the give wire.
ERightLeft getRLInfo() const
Getter for the right left passage information.
Abstract base class for different kinds of events.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
const CDCRLWireHit & getRLWireHit() const
Getter for the oriented wire hit.
A three dimensional vector.
double m_arcLength2D
Memory for the travel distance as see in the xy projection.
bool isAxial() const
Indicator if the underlying wire is axial.
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
CDCRecoHit2D stereoProjectToRef() const
Constructs a two dimensional reconstructed hit by carrying out the stereo ! projection to the wire re...
ERotation
Enumeration to represent the distinct possibilities of the right left passage information.
void shiftArcLength2D(double arcLength2DOffSet)
Adjust the travel distance by the given value.
bool isInCellZBounds(const double factor=1) const
Indicator if the hit is in the cdc (scaled by the factor) or already outside its boundaries.
const Vector2D & xy() const
Getter for the xy projected vector ( reference ! )
EStereoKind getStereoKind() const
Getter for the stereo type of the underlying wire.
bool operator<(const CDCRecoHit3D &other) const
Total ordering relation based on wire hit, right left passage information and position information in...
void setArcLength2D(const double arcLength2D)
Setter for the travel distance in the xy projection.
void setRLInfo(ERightLeft rlInfo)
Setter the right left passage information.
const Vector2D & getRefPos2D() const
The two dimensional reference position of the underlying wire.
Class representing a sense wire in the central drift chamber.
double getSignedRecoDriftLength() const
Returns the drift length next to the reconstructed position.
void setRecoDriftLength(double driftLength, bool snapRecoPos)
Setter to update the drift length of the hit.
double angleWith(const Vector2D &rhs) const
The angle between this and rhs.
double z() const
Getter for the z coordinate.
Class representing a hit wire in the central drift chamber.
static CDCRecoHit3D reconstruct(const CDCRecoHit2D &recoHit2D, const CDCTrajectory2D &trajectory2D)
Reconstructs the three dimensional hit from the two dimensional and the two dimensional trajectory.
const Vector3D & getRecoPos3D() const
Getter for the 3d position of the hit.
bool hasWireHit(const CDCWireHit &wireHit) const
Checks if the reconstructed hit is assoziated with the give wire hit.
CDCRLWireHit m_rlWireHit
Memory for the oriented wire hit reference.
bool operator==(const CDCRecoHit3D &other) const
Equality comparision based on wire hit, right left passage information and reconstructed position.
const Vector2D & getRefPos2D() const
Getter for the reference position of the wire.
CDCRecoHit2D getRecoHit2D() const
Constructs a two dimensional reconstructed hit by carrying out the stereo ! projection to the wire re...