Belle II Software
release-08-01-10
|
Class representating a linear track piece between two oriented wire hits. More...
#include <CDCTangent.h>
Public Member Functions | |
CDCTangent ()=default | |
Default constructor for ROOT. | |
CDCTangent (const CDCRLWireHitPair &rlWireHitPair) | |
Construct a tangent from a pair of oriented wire hits. | |
CDCTangent (const CDCRLWireHit &fromRLWireHit, const CDCRLWireHit &toRLWireHit) | |
Construct a tangent from two oriented wire hits. | |
CDCTangent (const CDCRLWireHitPair &rlWireHitPair, const ParameterLine2D &line) | |
Construct a tangent from a pair of oriented wire hits taking the given tangential line instead of a computed one. | |
CDCTangent (const CDCRLWireHit &fromRLWireHit, const CDCRLWireHit &toRLWireHit, const ParameterLine2D &line) | |
Construct a tangent from two oriented wire hits taking the given tangential line instead of a computed one. | |
const Vector2D & | getFromRecoPos2D () const |
Getter for the touching point of the tangent to the first drift circle. | |
Vector2D | getFromRecoDisp2D () const |
Getter for displacement of the touching point from the first wire in the reference plane. | |
Vector2D | getToRecoPos2D () const |
Getter for the touching point of the tangent to the second drift circle. | |
Vector2D | getToRecoDisp2D () const |
Getter for displacement of the touching point from the second wire in the reference plane. | |
const Vector2D & | getFlightVec2D () const |
Getter for the vector from the first to the second touch point.*/. | |
double | getCosFlightDifference (const CDCTangent &tangent) const |
Returns the cosine of the angle between the two flight directions of the tangents. | |
CDCRecoHit2D | getFromRecoHit2D () const |
Getter for the reconstructed hit on the first oriented wire hit using reconstructed touch point as position. | |
CDCRecoHit2D | getToRecoHit2D () const |
Getter for the reconstructed hit on the second oriented wire hit using reconstructed touch point as position. | |
void | adjustLine () |
Adjusts the line to touch the drift circles with the correct right left passage information. | |
void | adjustRLInfo () |
Adjusts the right left passage information according to the tangent line. | |
void | reverse () |
Reverses the tangent inplace. More... | |
CDCTangent | reversed () const |
Same as reverse but returns a copy. | |
const ParameterLine2D & | getLine () const |
Getter for the line representation of the line. More... | |
CDCRLWireHitPair | getAlias () const |
Returns the aliased version of this oriented wire hit pair. | |
bool | operator== (const CDCRLWireHitPair &other) const |
Equality comparision based the two oriented wire hits. | |
bool | operator< (const CDCRLWireHitPair &other) const |
Total ordering relation based on the from oriented wire hit first and the to oriented wire hit second. | |
WireNeighborKind | getNeighborKind () const |
Getter for the WireNeighborKind of the two underlying wires. | |
ISuperLayer | getISuperLayer () const |
Getter for the common superlayer id of the pair. | |
EStereoKind | getStereoKind () const |
Getter for the common stereo type of the superlayer of the pair. | |
bool | isAxial () const |
Indicator if the underlying wires are axial. | |
const CDCWire & | getFromWire () const |
Getter for the wire the first oriented wire hit is based on. | |
const CDCWire & | getToWire () const |
Getter for the wire the second oriented wire hit is based on. | |
bool | hasWire (const CDCWire &wire) const |
Indicator if any of the two oriented wire hits is based on the given wire. | |
const CDCWireHit & | getFromWireHit () const |
Getter for the hit wire of the first oriented wire hit. | |
const CDCWireHit & | getToWireHit () const |
Getter for the hit wire of the second oriented wire hit. | |
bool | hasWireHit (const CDCWireHit &wirehit) const |
Indicator if any of the two oriented wire hits is based on the given wire hit. | |
ERightLeft | getFromRLInfo () const |
Getter for the right left passage information of the first oriented wire hit. | |
ERightLeft | getToRLInfo () const |
Getter for the right left passage information of the second oriented wire hit. | |
CDCRLWireHit & | getFromRLWireHit () |
Getter for the first oriented wire hit. | |
const CDCRLWireHit & | getFromRLWireHit () const |
Constant getter for the first oriented wire hit. | |
CDCRLWireHit & | getToRLWireHit () |
Getter for the second oriented wire hit. | |
const CDCRLWireHit & | getToRLWireHit () const |
Constant getter for the second oriented wire hit. | |
void | setFromRLWireHit (const CDCRLWireHit &fromRLWireHit) |
Setter for the first oriented wire hit. | |
void | setToRLWireHit (const CDCRLWireHit &toRLWireHit) |
Setter for the second oriented wire hit. | |
void | setFromRLInfo (ERightLeft fromRLInfo) |
Setter for the right left passage information of the first oriented wire hit. | |
void | setToRLInfo (ERightLeft toRLInfo) |
Setter for the right left passage information of the second oriented wire hit. | |
int | getICluster () const |
Getter for the cluster id. | |
void | setICluster (int iCluster) |
Setter for the cluster id. | |
Protected Attributes | |
CDCRLWireHit | m_fromRLWireHit |
Memory for the reference to the first oriented wire hit. | |
CDCRLWireHit | m_toRLWireHit |
Memory for the reference to the second oriented wire hit. | |
int | m_iCluster = -1 |
Memory for the cluster id of this facet. | |
Private Attributes | |
ParameterLine2D | m_line |
Memory for the line between the two touching points. The first touch point at(0), second at(1). | |
Class representating a linear track piece between two oriented wire hits.
A tangent is an approximation of the possible trajectory between two oriented wire hits. The approximation is obtained by constructing a tangent between two drift circles of the wire hits (in the reference xy projection).
Generally maximal four tangents are possible. So to uniquely define a tangent we have to give additional information how it passes relativ to the drift circles. This right left passage information indicates if the related wire hit should lie to the right of to the left of the tangent. The four possible combinations are then
(ERightLeft::c_Right, ERightLeft::c_Right), (ERightLeft::c_Right, ERightLeft::c_Left),
(ERightLeft::c_Left, ERightLeft::c_Right), (ERightLeft::c_Left,ERightLeft::c_Left).
To represent the tangent this class uses a ParameterLine2D. The touch points to the two drift circles are located at(0) for the first and at(1) for the second. The tangent has therefor a sense of what is forward and can be reversed if necessary. Generally tangents are only a good approximation between neighboring wire hits.
Definition at line 40 of file CDCTangent.h.
|
inline |
Getter for the line representation of the line.
The line stretchs between the two the touch point. The first touch point is at(0) the second at(1).
Definition at line 109 of file CDCTangent.h.
void reverse | ( | ) |
Reverses the tangent inplace.
Swaps the to wire hits, reverses the left right informations and exchanges the two touch points of the line
Definition at line 67 of file CDCTangent.cc.