CbmRoot
Loading...
Searching...
No Matches
CaTrackExtender.h
Go to the documentation of this file.
1/* Copyright (C) 2022 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer], Maksym Zyzak */
4
9
10#pragma once // include this header only once per compilation unit
11
12#include "CaBranch.h"
13#include "CaHit.h"
14#include "CaParameters.h"
15#include "CaSimd.h"
16#include "CaVector.h"
17#include "CaWindowData.h"
18#include "KfTrackKalmanFilter.h"
19#include "KfTrackParam.h"
20
21namespace cbm::algo::ca
22{
23
24 class Track;
25 class Framework;
26 class InputData;
27
31
32 public:
34 TrackExtender(const ca::Parameters<fvec>& pars, const fscal mass);
35
38
40 TrackExtender(const TrackExtender&) = default;
41
44
47
50
51
55
56 private:
59
65 void FindMoreHits(ca::Branch& t, TrackParamV& T, const kf::FitDirection direction, const fvec qp0);
66
73 void FitBranch(const ca::Branch& t, TrackParamV& T, const kf::FitDirection direction, const fvec qp0,
74 const bool initParams = true);
75
76
83 void FitBranchFast(const ca::Branch& t, TrackParamV& T, const kf::FitDirection direction, const fvec qp0,
84 const bool initParams = true);
85
86 private:
89
94 };
95
96} // namespace cbm::algo::ca
A generic hit for the CA tracker (header)
Container for all data, which are processed within a single sub-timeslice (implementation)
CbmStsAlgoFindClusters::InputData InputData
Track fit utilities for the CA tracking based on the Kalman filter.
A container for all external parameters of the CA tracking algorithm.
void FitBranch(const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
like BranchFitterFast but more precise
void FindMoreHits(ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0)
TrackExtender(const ca::Parameters< fvec > &pars, const fscal mass)
Default constructor.
TrackExtender & operator=(const TrackExtender &)=delete
Copy assignment operator.
TrackExtender(const TrackExtender &)=default
Copy constructor.
void FitBranchFast(const ca::Branch &t, TrackParamV &T, const kf::FitDirection direction, const fvec qp0, const bool initParams=true)
const Parameters< fvec > & fParameters
Object of Framework parameters class.
TrackExtender(TrackExtender &&)=default
Move constructor.
fscal ExtendBranch(ca::Branch &t, WindowData &wData)
Try to extrapolate and find additional hits on other stations.
fscal fDefaultMass
mass of the propagated particle [GeV/c2]
TrackExtender & operator=(TrackExtender &&)=delete
Move assignment operator.
const cbm::algo::kf::Setup< fvec > & fSetup
Container for internal data, processed on a single time window.
KF-framework representation of the detector setup.
Definition KfSetup.h:33
constexpr fscal MuonMass
Particle masses etc used for the track fit, fscal precision.
Definition CaDefs.h:83
TODO: SZh 8.11.2022: add selection of parameterisation.
Definition CaBranch.h:14
kf::fscal fscal
Definition CaSimd.h:14