11#include <cdc/dataobjects/CDCHit.h>
12#include <cdc/translators/ADCCountTranslatorBase.h>
13#include <cdc/translators/CDCGeometryTranslatorBase.h>
14#include <cdc/translators/TDCCountTranslatorBase.h>
16#include <genfit/AbsMeasurement.h>
17#include <genfit/MeasurementOnPlane.h>
18#include <genfit/TrackCandHit.h>
19#include <genfit/HMatrixU.h>
21#include <framework/geometry/B2Vector3.h>
59 bool useTrackTime =
false,
bool cosmics =
false);
63 genfit::SharedPlanePtr
constructPlane(
const genfit::StateOnPlane& state)
const override;
71 virtual const genfit::HMatrixU*
constructHMatrix(
const genfit::AbsTrackRep*)
const override;
89 const genfit::AbsTrackRep* rep =
nullptr,
90 bool usePlaneFromFit =
false);
120 static std::unique_ptr<CDC::ADCCountTranslatorBase> s_adcCountTranslator;
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
This class is used to transfer CDC information to the track fit.
signed char m_leftRight
Flag showing left/right passage.
const CDCHit * m_cdcHit
Pointer to the CDCHit used to created this CDCRecoHit.
std::vector< genfit::MeasurementOnPlane * > constructMeasurementsOnPlane(const genfit::StateOnPlane &state) const override
build MeasurementsOnPlane
static void setTranslators(CDC::ADCCountTranslatorBase *const adcCountTranslator, CDC::CDCGeometryTranslatorBase *const cdcGeometryTranslator, CDC::TDCCountTranslatorBase *const tdcCountTranslator, bool useTrackTime=false, bool cosmics=false)
Setter for the Translators.
unsigned short m_tdcCount
TDC Count as out of CDCHit.
bool isLeftRightMeasurement() const override
CDC RecoHits always have left-right ambiguity.
WireID getWireID() const
Getter for WireID object.
static bool s_cosmics
Switch to use cosmic events, or physics events from IP.
unsigned short m_adcCount
ADC Count as out of CDCHit.
static bool s_useTrackTime
Whether to use the track time or not when building the measurementOnPlane.
bool getFlyByDistanceVector(B2Vector3D &pointingVector, B2Vector3D &trackDir, const genfit::AbsTrackRep *rep=nullptr, bool usePlaneFromFit=false)
Get the vector pointing from the wire to the fitted trajectory as well as the direction of the track ...
static std::unique_ptr< CDC::TDCCountTranslatorBase > s_tdcCountTranslator
Object for getting drift-length and -resolution.
std::vector< double > timeDerivativesMeasurementsOnPlane(const genfit::StateOnPlane &state) const
Get the time derivative of the MesuredStateOnPlane (derived from the track fit).
virtual const genfit::HMatrixU * constructHMatrix(const genfit::AbsTrackRep *) const override
construct error matrix
WireID m_wireID
Wire Identifier.
genfit::SharedPlanePtr constructPlane(const genfit::StateOnPlane &state) const override
Methods that actually interface to Genfit.
void setLeftRightResolution(int lr)
select how to resolve the left/right ambiguity: -1: negative (left) side on vector (wire direction) x...
CDCRecoHit()
Default Constructor for ROOT IO.
ClassDefOverride(CDCRecoHit, 10)
ROOT Macro.
int getLeftRightResolution() const override
Getter for left/right passage flag.
CDCRecoHit * clone() const override
Creating a copy of this hit.
static std::unique_ptr< CDC::CDCGeometryTranslatorBase > s_cdcGeometryTranslator
Object for geometry translation.
const CDCHit * getCDCHit() const
get the pointer to the CDCHit object that was used to create this CDCRecoHit object.
Abstract Base class for the ADC count translator.
Abstract Base class for the geometry translator.
Base class for translation of Drift Time into Drift Length.
Class to identify a wire inside the CDC.
Abstract base class for different kinds of events.