 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/topology/EStereoKind.h>
13 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
14 #include <tracking/trackFindingCDC/topology/ILayer.h>
16 #include <tracking/trackFindingCDC/ca/AutomatonCell.h>
18 #include <tracking/trackFindingCDC/numerics/ERightLeft.h>
19 #include <tracking/trackFindingCDC/numerics/Index.h>
21 #include <tracking/trackFindingCDC/utilities/FunctorTag.h>
23 #include <cdc/dataobjects/WireID.h>
36 class TDCCountTranslatorBase;
37 class ADCCountTranslatorBase;
39 namespace TrackFindingCDC {
40 class CDCTrajectory2D;
41 class CDCWireSuperLayer;
85 double chargeDeposit = 0,
86 double driftTime = 0);
97 CDC::TDCCountTranslatorBase* ptrTDCCountTranslator =
nullptr,
98 CDC::ADCCountTranslatorBase* ptrADCCountTranslator =
nullptr);
104 double chargeDeposit = 0);
117 std::make_pair(rhs.getWireID().getEWire(), rhs.getRefDriftLength());
123 return &wireHit.getWire() < &wire;
130 return &wire < &wireHit.getWire();
138 return *wireHit < wire;
146 return wire < *wireHit;
350 template<
class T,
class SFINAE = decltype(&T::getWireHit)>
353 return t.getWireHit();
AutomatonCell & getAutomatonCell() const
Mutable getter for the automaton cell.
EStereoKind getStereoKind() const
Getter for the stereo type of the underlying wire.
int getISuperCluster() const
Getter for the super cluster id.
Class to identify a wire inside the CDC.
HepGeom::Vector3D< double > Vector3D
3D Vector
std::ostream & operator<<(std::ostream &output, const IntervalOfValidity &iov)
const WireID & getWireID() const
Getter for the WireID of the wire the hit is located on.
ILayer getILayer() const
Getter for the layer id.
unsigned short getILayer() const
Getter for layer within the Super-Layer.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
double getRefDriftLength() const
Getter for the drift length at the reference position of the wire.
const CDCWire & attachWire() const
Reestablishes the pointer of the hit to the wire and returns it Since the DataStore only transport th...
static EStereoKind getStereoKind(ISuperLayer iSuperLayer)
Returns the stereo kind of the super layer.
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
ISuperLayer getISuperLayer() const
Getter for the super layer id.
const CDCHit * m_hit
Memory for the CDCHit pointer.
const Vector2D & getRefPos2D() const
The two dimensional reference position (z=0) of the underlying wire.
unsigned short getISuperLayer() const
Getter for Super-Layer.
static CDC::TDCCountTranslatorBase & getTDCCountTranslator()
Return an instance of the used TDC count translator.
double getRefDriftLengthVariance() const
Getter for the variance of the drift length at the reference position of the wire.
Generic functor to get the wire hit from an object.
friend bool operator<(const CDCWireHit *wireHit, const CDCWire &wire)
Defines CDCWires and CDCWireHits to be coaligned on the wire on which they are based.
const CDCHit * getHit() const
Getter for the CDCHit pointer into the StoreArray.
A two dimensional circle in its natural representation using center and radius as parameters.
Index getStoreIHit() const
Getter for the index of the hit in the StoreArray holding this hit.
Particle trajectory as it is seen in xy projection represented as a circle.
CDCWireHit()=default
Default constructor for ROOT compatibility.
bool isOnWire(const CDCWire &wire) const
Checks if the wire hit is based on the given wire.
bool operator<(ExpRun a, ExpRun b)
less than for ExpRun
CDCWire const * m_wire
Memory for the CDCWire pointer - Trailing comment indicates to not stream this member.
Abstract base class for different kinds of events.
Cell used by the cellular automata.
AutomatonCell * operator->() const
Indirection to the automaton cell for easier access to the flags.
A three dimensional vector.
double m_refDriftLengthVariance
Memory for the variance of the drift length at the wire reference point.
const CDCWireHit & operator()(const T &t) const
Returns the wire hit of an object.
double getRefChargeDeposit() const
Getter for the charge due to energy deposit in the drift cell.
ERightLeft
Enumeration to represent the distinct possibilities of the right left passage.
static bool isAxial(ISuperLayer iSuperLayer)
Returns if the super layer with the given id is axial.
Tag class to facilitate marking of class as a functor in the sense of this code.
Circle2D conformalTransformed(const Vector2D &relativeTo) const
Applys the conformal transformation to the drift circle this hit represents.
double m_refDriftTime
Measured drift time of the CDC hit.
bool operator==(const CDCWireHit &rhs) const
Equality comparison based on the wire and the hit id.
const CDCWire & getWire() const
Getter for the CDCWire the hit is located on.
Class representating a sense wire superlayer in the central drift chamber.
AutomatonCell m_automatonCell
Memory for the automaton cell.
Class representing a sense wire in the central drift chamber.
double getDriftTime() const
Return the drift time measured by the CDC for this hit.
const Vector3D & getRefPos3D() const
The three dimensional reference position of the underlying wire.
int m_iSuperCluster
Memory for the super cluster id.
void setISuperCluster(int iSuperCluster)
Setter for the super cluster id.
Class representing a hit wire in the central drift chamber.
static CDC::ADCCountTranslatorBase & getADCCountTranslator()
Return an instance of the used ADC count translator.
double getRefCylindricalR() const
The distance from the beam line at reference position of the underlying wire.
static constexpr const double c_simpleDriftLengthVariance
A default value for the drift length variance if no variance from the drift length translation is ava...
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).
bool operator<(const CDCWireHit &rhs) const
Total ordering relation based on the wire and the hit id.
double m_refChargeDeposit
Memory for the charge induced by the energy deposit in the drift cell.
double m_refDriftLength
Memory for the drift length at the wire reference point.
WireID m_wireID
Memory for the WireID.
bool isAxial() const
Indicator if the underlying wire is axial.