Belle II Software  release-08-01-10
CKFToSVDState.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #pragma once
9 #include <tracking/ckf/general/entities/CKFState.h>
10 #include <svd/reconstruction/SVDRecoHit.h>
11 #include <genfit/SharedPlanePtr.h>
12 
13 namespace genfit {
14  class MeasuredStateOnPlane;
15 }
16 
17 namespace Belle2 {
22  class RecoTrack;
23  class SpacePoint;
24  class SVDRecoHit;
25 
27  class CKFToSVDState : public CKFState<RecoTrack, SpacePoint> {
28  public:
30  explicit CKFToSVDState(const SpacePoint* hit);
31 
33  explicit CKFToSVDState(const RecoTrack* seed, bool reversed = false);
34 
36  unsigned int getGeometricalLayer() const;
37 
40 
42  const SVDRecoHit& getRecoHit() const;
43 
45  const std::vector<SVDRecoHit>& getRecoHits() const;
46 
48  const RecoTrack* getRelatedSVDTrack() const;
49 
51  void setRelatedSVDTrack(const RecoTrack* relatedSVDTrack);
52 
54  const struct stateCache& getStateCache() const {
55  return m_stateCache;
56  }
57 
58  private:
60  std::vector<SVDRecoHit> m_recoHits;
61 
63  const RecoTrack* m_relatedSVDTrack = nullptr;
64  };
66 }
State object to store one step in the CKF algorithm together with its parent (the state before),...
Definition: CKFState.h:29
stateCache m_stateCache
Cache the most important data of this state for better runtime performance.
Definition: CKFState.h:150
Specialized CKF State for extrapolating into the SVD.
Definition: CKFToSVDState.h:27
const RecoTrack * getRelatedSVDTrack() const
Return the related SVD track, if we go along one of them (or a nullptr)
unsigned int getGeometricalLayer() const
Extract the real layer this state sits on.
genfit::SharedPlanePtr getPlane(const genfit::MeasuredStateOnPlane &state) const
Return the plane of the first SVD cluster.
std::vector< SVDRecoHit > m_recoHits
Precache the PXDRecoHits for runtime performance reasons.
Definition: CKFToSVDState.h:60
const std::vector< SVDRecoHit > & getRecoHits() const
Helper function for getting the already created reco hits (runtime reasons)
const SVDRecoHit & getRecoHit() const
Helper function for getting the already created reco hit (runtime reasons)
void setRelatedSVDTrack(const RecoTrack *relatedSVDTrack)
Set the related SVD track, if we go along one of them (or a nullptr)
const struct stateCache & getStateCache() const
Get the cached data of this state.
Definition: CKFToSVDState.h:54
CKFToSVDState(const SpacePoint *hit)
When constructed by a hit, set the reco hit.
const RecoTrack * m_relatedSVDTrack
The related SVD track, if we go along one of them (or a nullptr)
Definition: CKFToSVDState.h:63
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:79
SVDRecoHit - an extended form of SVDHit containing geometry information.
Definition: SVDRecoHit.h:47
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
Definition: SpacePoint.h:42
#StateOnPlane with additional covariance matrix.
Abstract base class for different kinds of events.
Defines for I/O streams used for error and debug printing.
std::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.