Belle II Software development
|
Class representing a hit wire in the central drift chamber. More...
#include <CDCWireHit.h>
Public Member Functions | |
CDCWireHit ()=default | |
Default constructor for ROOT compatibility. | |
CDCWireHit (const CDCHit *ptrHit, double driftLength, double driftLengthVariance=c_simpleDriftLengthVariance, double chargeDeposit=0, double driftTime=0) | |
Constructor associating the CDCHit with estimates of the drift length and charge deposit. | |
CDCWireHit (const CDCHit *ptrHit, CDC::TDCCountTranslatorBase *ptrTDCCountTranslator=nullptr, CDC::ADCCountTranslatorBase *ptrADCCountTranslator=nullptr) | |
Constructor for augmenting the CDCHit with the geometry information of the CDCWire. | |
CDCWireHit (const WireID &wireID, double driftLength, double driftLengthVariance=c_simpleDriftLengthVariance, double chargeDeposit=0) | |
Constructor that takes a wire ID and a driftlength at the reference. For testing only! | |
bool | operator== (const CDCWireHit &rhs) const |
Equality comparison based on the wire and the hit id. | |
bool | operator< (const CDCWireHit &rhs) const |
Total ordering relation based on the wire and the hit id. | |
bool | operator< (const CDCHit &hit) |
Defines CDCWireHits and raw CDCHit to be coaligned. | |
const CDCHit * | getHit () const |
Getter for the CDCHit pointer into the StoreArray. | |
Index | getStoreIHit () const |
Getter for the index of the hit in the StoreArray holding this hit. | |
const CDCWire & | getWire () const |
Getter for the CDCWire the hit is located on. | |
const CDCWire & | attachWire () const |
Reestablishes the pointer of the hit to the wire and returns it Since the DataStore only transport the event data and not "static" geometry information the wire is lost whenever the DataStore is stream across an interprocess boundary or to file. | |
const WireID & | getWireID () const |
Getter for the WireID of the wire the hit is located on. | |
EStereoKind | getStereoKind () const |
Getter for the stereo type of the underlying wire. | |
bool | isAxial () const |
Indicator if the underlying wire is axial. | |
ISuperLayer | getISuperLayer () const |
Getter for the super layer id. | |
ILayer | getILayer () const |
Getter for the layer id. | |
const Vector2D & | getRefPos2D () const |
The two dimensional reference position (z=0) of the underlying wire. | |
const Vector3D & | getRefPos3D () const |
The three dimensional reference position of the underlying wire. | |
double | getRefCylindricalR () const |
The distance from the beam line at reference position of the underlying wire. | |
double | getRefDriftLength () 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. | |
double | getRefChargeDeposit () const |
Getter for the charge due to energy deposit in the drift cell. | |
bool | isOnWire (const CDCWire &wire) const |
Checks if the wire hit is based on the given wire. | |
Vector2D | reconstruct2D (const CDCTrajectory2D &trajectory2D) const |
Reconstructs a position of primary ionisation on the drift circle. | |
Vector3D | reconstruct3D (const CDCTrajectory2D &trajectory2D, ERightLeft rlInfo, double z=0) const |
Attempts to reconstruct a three dimensional position (especially of stereo hits). | |
Circle2D | conformalTransformed (const Vector2D &relativeTo) const |
Applies the conformal transformation to the drift circle this hit represents. | |
AutomatonCell & | getAutomatonCell () const |
Mutable getter for the automaton cell. | |
AutomatonCell * | operator-> () const |
Indirection to the automaton cell for easier access to the flags. | |
int | getISuperCluster () const |
Getter for the super cluster id. | |
void | setISuperCluster (int iSuperCluster) |
Setter for the super cluster id. | |
double | getDriftTime () const |
Return the drift time measured by the CDC for this hit. | |
Static Public Member Functions | |
static CDC::TDCCountTranslatorBase & | getTDCCountTranslator () |
Return an instance of the used TDC count translator. | |
static CDC::ADCCountTranslatorBase & | getADCCountTranslator () |
Return an instance of the used ADC count translator. | |
Static Public Attributes | |
static constexpr const double | c_simpleDriftLengthVariance = 0.000169 |
A default value for the drift length variance if no variance from the drift length translation is available. | |
Private Attributes | |
WireID | m_wireID |
Memory for the WireID. | |
CDCWire const * | m_wire = nullptr |
Memory for the CDCWire pointer - Trailing comment indicates to not stream this member. | |
AutomatonCell | m_automatonCell {1} |
Memory for the automaton cell. | |
double | m_refDriftLength = 0 |
Memory for the drift length at the wire reference point. | |
double | m_refDriftLengthVariance = c_simpleDriftLengthVariance |
Memory for the variance of the drift length at the wire reference point. | |
double | m_refChargeDeposit = 0.0 |
Memory for the charge induced by the energy deposit in the drift cell. | |
int | m_iSuperCluster = -1 |
Memory for the super cluster id. | |
double | m_refDriftTime = 0.0f |
Measured drift time of the CDC hit. | |
const CDCHit * | m_hit = nullptr |
Memory for the CDCHit pointer. | |
Friends | |
bool | operator< (const CDCWireHit &wireHit, const CDCWire &wire) |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based. | |
bool | operator< (const CDCWire &wire, const CDCWireHit &wireHit) |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based. | |
bool | operator< (const CDCWireHit *wireHit, const CDCWire &wire) |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based. | |
bool | operator< (const CDCWire &wire, const CDCWireHit *wireHit) |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based. | |
bool | operator< (const CDCWireHit &wireHit, const CDCHit &hit) |
Defines CDCWireHits and raw CDCHit to be coaligned. | |
bool | operator< (const CDCHit &hit, const CDCWireHit &wireHit) |
Defines wire hits and raw CDCHit to be coaligned. | |
Class representing a hit wire in the central drift chamber.
This class combines the measurement information from a CDCHit with the geometry information. It forms the basis of all other higher level tracking objects. It contains an AutomatonCell which defines the flags of usage etc. Additionally it contains references to both the CDCWire instance from the CDCWireTopology and the CDCHit from the StoreArray of the event.
Definition at line 55 of file CDCWireHit.h.
CDCWireHit | ( | const CDCHit * | ptrHit, |
double | driftLength, | ||
double | driftLengthVariance = c_simpleDriftLengthVariance , |
||
double | chargeDeposit = 0 , |
||
double | driftTime = 0 |
||
) |
Constructor associating the CDCHit with estimates of the drift length and charge deposit.
Also stores the CDCHit necessary for later translation to Genfit.
ptrHit | Reference to the CDCHit. |
driftLength | Initial estimate of the drift length at the reference position. |
driftLengthVariance | Initial estimate of the variance of the dirft length at the reference position. |
chargeDeposit | Initial estimate of the deposited charge in the drift cell. |
driftTime | Measured drift time |
Definition at line 51 of file CDCWireHit.cc.
|
explicit |
Constructor for augmenting the CDCHit with the geometry information of the CDCWire.
Binds to the CDCHit and the corresponding wire together and translates the TDC count to a driftlength. Also stores the index of the StoreArray from which the hit has been taken. Necessary for later translation to genfit.
ptrHit | Reference to the CDCHit. |
ptrTDCCountTranslator | instance of the used TDC count translator (optional) |
ptrADCCountTranslator | instance of the used ADC count translator (optional) |
Definition at line 67 of file CDCWireHit.cc.
CDCWireHit | ( | const WireID & | wireID, |
double | driftLength, | ||
double | driftLengthVariance = c_simpleDriftLengthVariance , |
||
double | chargeDeposit = 0 |
||
) |
Constructor that takes a wire ID and a driftlength at the reference. For testing only!
Definition at line 120 of file CDCWireHit.cc.
const CDCWire & attachWire | ( | ) | const |
Reestablishes the pointer of the hit to the wire and returns it Since the DataStore only transport the event data and not "static" geometry information the wire is lost whenever the DataStore is stream across an interprocess boundary or to file.
In this case this method can be called to lookup the wire again.
Definition at line 159 of file CDCWireHit.cc.
Applies the conformal transformation to the drift circle this hit represents.
Although not advisable to use we provide an interface to obtain the inversion at the unit circle as a transformation to the so called conformal space. We provide the self-inverse for of the transformation
Definition at line 200 of file CDCWireHit.cc.
|
static |
Return an instance of the used ADC count translator.
Definition at line 45 of file CDCWireHit.cc.
|
inline |
Mutable getter for the automaton cell.
Definition at line 286 of file CDCWireHit.h.
|
inline |
Return the drift time measured by the CDC for this hit.
Definition at line 310 of file CDCWireHit.h.
|
inline |
Getter for the CDCHit pointer into the StoreArray.
Definition at line 159 of file CDCWireHit.h.
|
inline |
Getter for the layer id.
Definition at line 209 of file CDCWireHit.h.
|
inline |
Getter for the super cluster id.
Definition at line 298 of file CDCWireHit.h.
|
inline |
Getter for the super layer id.
Definition at line 203 of file CDCWireHit.h.
|
inline |
Getter for the charge due to energy deposit in the drift cell.
Definition at line 236 of file CDCWireHit.h.
double getRefCylindricalR | ( | ) | const |
The distance from the beam line at reference position of the underlying wire.
Definition at line 222 of file CDCWireHit.cc.
|
inline |
Getter for the drift length at the reference position of the wire.
Definition at line 224 of file CDCWireHit.h.
|
inline |
Getter for the variance of the drift length at the reference position of the wire.
Definition at line 230 of file CDCWireHit.h.
const Vector2D & getRefPos2D | ( | ) | const |
The two dimensional reference position (z=0) of the underlying wire.
Definition at line 212 of file CDCWireHit.cc.
const Vector3D & getRefPos3D | ( | ) | const |
The three dimensional reference position of the underlying wire.
Definition at line 217 of file CDCWireHit.cc.
|
inline |
Getter for the stereo type of the underlying wire.
Definition at line 191 of file CDCWireHit.h.
Index getStoreIHit | ( | ) | const |
Getter for the index of the hit in the StoreArray holding this hit.
Definition at line 207 of file CDCWireHit.cc.
|
static |
Return an instance of the used TDC count translator.
Definition at line 39 of file CDCWireHit.cc.
|
inline |
Getter for the CDCWire the hit is located on.
Definition at line 168 of file CDCWireHit.h.
|
inline |
Getter for the WireID of the wire the hit is located on.
Definition at line 185 of file CDCWireHit.h.
|
inline |
Indicator if the underlying wire is axial.
Definition at line 197 of file CDCWireHit.h.
|
inline |
Checks if the wire hit is based on the given wire.
Definition at line 242 of file CDCWireHit.h.
|
inline |
Indirection to the automaton cell for easier access to the flags.
Definition at line 292 of file CDCWireHit.h.
bool operator< | ( | const CDCHit & | hit | ) |
Defines CDCWireHits and raw CDCHit to be coaligned.
Definition at line 134 of file CDCWireHit.cc.
|
inline |
Total ordering relation based on the wire and the hit id.
Definition at line 113 of file CDCWireHit.h.
|
inline |
Equality comparison based on the wire and the hit id.
Definition at line 107 of file CDCWireHit.h.
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 166 of file CDCWireHit.cc.
Vector3D reconstruct3D | ( | const CDCTrajectory2D & | trajectory2D, |
ERightLeft | rlInfo, | ||
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:
Definition at line 181 of file CDCWireHit.cc.
|
inline |
Setter for the super cluster id.
Definition at line 304 of file CDCWireHit.h.
|
friend |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based.
Definition at line 128 of file CDCWireHit.h.
|
friend |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based.
Definition at line 143 of file CDCWireHit.h.
|
friend |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based.
Definition at line 121 of file CDCWireHit.h.
|
friend |
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based.
Definition at line 135 of file CDCWireHit.h.
|
staticconstexpr |
A default value for the drift length variance if no variance from the drift length translation is available.
Definition at line 64 of file CDCWireHit.h.
|
mutableprivate |
Memory for the automaton cell.
Definition at line 323 of file CDCWireHit.h.
|
private |
Memory for the CDCHit pointer.
Definition at line 341 of file CDCWireHit.h.
|
private |
Memory for the super cluster id.
Definition at line 335 of file CDCWireHit.h.
|
private |
Memory for the charge induced by the energy deposit in the drift cell.
Definition at line 332 of file CDCWireHit.h.
|
private |
Memory for the drift length at the wire reference point.
Definition at line 326 of file CDCWireHit.h.
|
private |
Memory for the variance of the drift length at the wire reference point.
Definition at line 329 of file CDCWireHit.h.
|
private |
Measured drift time of the CDC hit.
Definition at line 338 of file CDCWireHit.h.
|
mutableprivate |
Memory for the CDCWire pointer - Trailing comment indicates to not stream this member.
Definition at line 320 of file CDCWireHit.h.
|
private |
Memory for the WireID.
Definition at line 317 of file CDCWireHit.h.