Belle II Software development
|
Class representing 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. | |
CDCTangent | reversed () const |
Same as reverse but returns a copy. | |
const ParameterLine2D & | getLine () const |
Getter for the line representation of the line. | |
CDCRLWireHitPair | getAlias () const |
Returns the aliased version of this oriented wire hit pair. | |
bool | operator== (const CDCRLWireHitPair &other) const |
Equality comparison 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 representing 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 relative 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 therefore 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.
|
explicit |
Construct a tangent from a pair of oriented wire hits.
Definition at line 24 of file CDCTangent.cc.
CDCTangent | ( | const CDCRLWireHit & | fromRLWireHit, |
const CDCRLWireHit & | toRLWireHit | ||
) |
Construct a tangent from two oriented wire hits.
Definition at line 30 of file CDCTangent.cc.
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.
Definition at line 37 of file CDCTangent.cc.
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.
Definition at line 43 of file CDCTangent.cc.
void adjustLine | ( | ) |
Adjusts the line to touch the drift circles with the correct right left passage information.
Definition at line 50 of file CDCTangent.cc.
void adjustRLInfo | ( | ) |
Adjusts the right left passage information according to the tangent line.
Definition at line 58 of file CDCTangent.cc.
|
inherited |
Returns the aliased version of this oriented wire hit pair.
Definition at line 49 of file CDCRLWireHitPair.cc.
|
inline |
Returns the cosine of the angle between the two flight directions of the tangents.
Definition at line 81 of file CDCTangent.h.
|
inline |
Getter for the vector from the first to the second touch point.*/.
Definition at line 77 of file CDCTangent.h.
Vector2D getFromRecoDisp2D | ( | ) | const |
Getter for displacement of the touching point from the first wire in the reference plane.
Definition at line 84 of file CDCTangent.cc.
CDCRecoHit2D getFromRecoHit2D | ( | ) | const |
Getter for the reconstructed hit on the first oriented wire hit using reconstructed touch point as position.
Definition at line 94 of file CDCTangent.cc.
|
inline |
Getter for the touching point of the tangent to the first drift circle.
Definition at line 63 of file CDCTangent.h.
|
inlineinherited |
Getter for the right left passage information of the first oriented wire hit.
Definition at line 137 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the first oriented wire hit.
Definition at line 149 of file CDCRLWireHitPair.h.
|
inlineinherited |
Constant getter for the first oriented wire hit.
Definition at line 161 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the wire the first oriented wire hit is based on.
Definition at line 101 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the hit wire of the first oriented wire hit.
Definition at line 119 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the cluster id.
Definition at line 191 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the common superlayer id of the pair.
Definition at line 82 of file CDCRLWireHitPair.h.
|
inline |
Getter for the line representation of the line.
The line stretches 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.
|
inlineinherited |
Getter for the WireNeighborKind of the two underlying wires.
Definition at line 32 of file CDCRLWireHitPair.cc.
|
inlineinherited |
Getter for the common stereo type of the superlayer of the pair.
Definition at line 89 of file CDCRLWireHitPair.h.
Vector2D getToRecoDisp2D | ( | ) | const |
Getter for displacement of the touching point from the second wire in the reference plane.
Definition at line 89 of file CDCTangent.cc.
CDCRecoHit2D getToRecoHit2D | ( | ) | const |
Getter for the reconstructed hit on the second oriented wire hit using reconstructed touch point as position.
Definition at line 99 of file CDCTangent.cc.
|
inline |
Getter for the touching point of the tangent to the second drift circle.
Definition at line 70 of file CDCTangent.h.
|
inlineinherited |
Getter for the right left passage information of the second oriented wire hit.
Definition at line 143 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the second oriented wire hit.
Definition at line 155 of file CDCRLWireHitPair.h.
|
inlineinherited |
Constant getter for the second oriented wire hit.
Definition at line 167 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the wire the second oriented wire hit is based on.
Definition at line 107 of file CDCRLWireHitPair.h.
|
inlineinherited |
Getter for the hit wire of the second oriented wire hit.
Definition at line 125 of file CDCRLWireHitPair.h.
|
inlineinherited |
Indicator if any of the two oriented wire hits is based on the given wire.
Definition at line 113 of file CDCRLWireHitPair.h.
|
inlineinherited |
Indicator if any of the two oriented wire hits is based on the given wire hit.
Definition at line 131 of file CDCRLWireHitPair.h.
|
inlineinherited |
Indicator if the underlying wires are axial.
Definition at line 95 of file CDCRLWireHitPair.h.
|
inlineinherited |
Total ordering relation based on the from oriented wire hit first and the to oriented wire hit second.
Definition at line 57 of file CDCRLWireHitPair.h.
|
inlineinherited |
Equality comparison based the two oriented wire hits.
Definition at line 47 of file CDCRLWireHitPair.h.
void reverse | ( | ) |
Reverses the tangent inplace.
Swaps the to wire hits, reverses the left right information and exchanges the two touch points of the line
Definition at line 67 of file CDCTangent.cc.
CDCTangent reversed | ( | ) | const |
Same as reverse but returns a copy.
Definition at line 78 of file CDCTangent.cc.
|
inherited |
Setter for the right left passage information of the first oriented wire hit.
Definition at line 54 of file CDCRLWireHitPair.cc.
|
inlineinherited |
Setter for the first oriented wire hit.
Definition at line 173 of file CDCRLWireHitPair.h.
|
inlineinherited |
Setter for the cluster id.
Definition at line 197 of file CDCRLWireHitPair.h.
|
inherited |
Setter for the right left passage information of the second oriented wire hit.
Definition at line 59 of file CDCRLWireHitPair.cc.
|
inlineinherited |
Setter for the second oriented wire hit.
Definition at line 179 of file CDCRLWireHitPair.h.
|
protectedinherited |
Memory for the reference to the first oriented wire hit.
Definition at line 204 of file CDCRLWireHitPair.h.
|
protectedinherited |
Memory for the cluster id of this facet.
Definition at line 210 of file CDCRLWireHitPair.h.
|
private |
Memory for the line between the two touching points. The first touch point at(0), second at(1).
Definition at line 114 of file CDCTangent.h.
|
protectedinherited |
Memory for the reference to the second oriented wire hit.
Definition at line 207 of file CDCRLWireHitPair.h.