Belle II Software  release-05-01-25
BaseMeasurementCreatorFromHit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFitting/measurementCreator/creators/BaseMeasurementCreator.h>
13 #include <tracking/dataobjects/RecoHitInformation.h>
14 
15 #include <genfit/MeasurementFactory.h>
16 
17 #include <framework/gearbox/Const.h>
18 #include <vector>
19 
20 namespace genfit {
21  class AbsMeasurement;
22 }
23 
24 namespace Belle2 {
29  class RecoTrack;
30 
41  template <class HitType, Const::EDetector detector>
43  public:
46 
49 
51  virtual std::vector<genfit::TrackPoint*> createMeasurementPoints(HitType* hit, RecoTrack& recoTrack,
52  const RecoHitInformation& recoHitInformation) const = 0;
53 
54  protected:
65  genfit::AbsMeasurement* createCoordinateMeasurement(HitType* hit, const RecoHitInformation& recoHitInformation) const;
66 
69  RecoTrack& recoTrack,
70  const RecoHitInformation& recoHitInformation) const;
71 
72  private:
75 
77  std::vector<genfit::TrackPoint*> createMeasurementPoints(RecoTrack&) const override final
78  {
79  return {};
80  }
81  };
82 
84  using CDCBaseMeasurementCreator = BaseMeasurementCreatorFromHit<RecoHitInformation::UsedCDCHit, Const::CDC>;
94 
96  template<>
99  const RecoHitInformation& recoHitInformation) const;
101 }
genfit::TrackPoint
Object containing AbsMeasurement and AbsFitterInfo objects.
Definition: TrackPoint.h:46
Belle2::BaseMeasurementCreatorFromHit::createMeasurementPoints
virtual std::vector< genfit::TrackPoint * > createMeasurementPoints(HitType *hit, RecoTrack &recoTrack, const RecoHitInformation &recoHitInformation) const =0
Overload this method to create measurement track points from a given hit.
Belle2::BaseMeasurementCreatorFromHit::createMeasurementPoints
std::vector< genfit::TrackPoint * > createMeasurementPoints(RecoTrack &) const override final
We do not need this method in this overload.
Definition: BaseMeasurementCreatorFromHit.h:77
Belle2::CDCBaseMeasurementCreator
BaseMeasurementCreatorFromHit< RecoHitInformation::UsedCDCHit, Const::CDC > CDCBaseMeasurementCreator
Needed for templating.
Definition: BaseMeasurementCreatorFromHit.h:85
Belle2::CDCHit
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
Definition: CDCHit.h:51
Belle2::BaseMeasurementCreatorFromHit::createTrackPointWithRecoHitInformation
genfit::TrackPoint * createTrackPointWithRecoHitInformation(genfit::AbsMeasurement *coordinateMeasurement, RecoTrack &recoTrack, const RecoHitInformation &recoHitInformation) const
Helper: Create a TrackPoint from a measurement with a given RecoHitInformation.
Definition: BaseMeasurementCreatorFromHit.cc:34
genfit
Defines for I/O streams used for error and debug printing.
Definition: AlignablePXDRecoHit.h:19
Belle2::BaseMeasurementCreator
Base class for all measurement creators.
Definition: BaseMeasurementCreator.h:33
genfit::MeasurementFactory< genfit::AbsMeasurement >
genfit::AbsMeasurement
Contains the measurement and covariance in raw detector coordinates.
Definition: AbsMeasurement.h:42
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BaseMeasurementCreatorFromHit
Base Class to create measurements based on a given hit related to the RecoTrack.
Definition: BaseMeasurementCreatorFromHit.h:42
Belle2::BaseMeasurementCreatorFromHit::createCoordinateMeasurement
genfit::AbsMeasurement * createCoordinateMeasurement(HitType *hit, const RecoHitInformation &recoHitInformation) const
You probably need a coordinate measurement on which you can base your measurements in createMeasureme...
Definition: BaseMeasurementCreatorFromHit.cc:23
Belle2::RecoHitInformation
This class stores additional information to every CDC/SVD/PXD hit stored in a RecoTrack.
Definition: RecoHitInformation.h:48
Belle2::BaseMeasurementCreatorFromHit::m_measurementFactory
const genfit::MeasurementFactory< genfit::AbsMeasurement > & m_measurementFactory
A reference to the prefilled measurement factory.
Definition: BaseMeasurementCreatorFromHit.h:74
Belle2::BaseMeasurementCreatorFromHit::BaseMeasurementCreatorFromHit
BaseMeasurementCreatorFromHit(const genfit::MeasurementFactory< genfit::AbsMeasurement > &measurementFactory)
Creates a MeasurementCreator which handles the creation of measurements of a given kind.
Definition: BaseMeasurementCreatorFromHit.cc:18
Belle2::BaseMeasurementCreatorFromHit::~BaseMeasurementCreatorFromHit
virtual ~BaseMeasurementCreatorFromHit()
Destructor.
Definition: BaseMeasurementCreatorFromHit.h:48