Belle II Software development
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
13namespace genfit {
14 class MeasuredStateOnPlane;
15}
16
17namespace 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
39 genfit::SharedPlanePtr getPlane(const genfit::MeasuredStateOnPlane& state) const;
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:154
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)
const struct stateCache & getStateCache() const
Get the cached data of this state.
Definition: CKFToSVDState.h:54
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 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
Abstract base class for different kinds of events.