CbmRoot
Loading...
Searching...
No Matches
CbmLitTrackFinderNN.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2013 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
16#ifndef CBMLITTRACKFINDERNN_H_
17#define CBMLITTRACKFINDERNN_H_
18
19#include "base/CbmLitHitData.h"
20#include "base/CbmLitPtrTypes.h"
21#include "base/CbmLitTypes.h"
23
24#include <vector>
25
26using std::vector;
27
29 public:
34
38 virtual ~CbmLitTrackFinderNN();
39
44
45 /* Setters */
46 void SetSeedSelection(TrackSelectionPtr seedSelection) { fSeedSelection = seedSelection; }
47 void SetFinalSelection(TrackSelectionPtr finalSelection) { fFinalSelection = finalSelection; }
48 void SetPropagator(TrackPropagatorPtr propagator) { fPropagator = propagator; }
49 void SetFilter(TrackUpdatePtr filter) { fFilter = filter; }
50 void SetNofStations(Int_t nofStations) { fNofStations = nofStations; }
51 void SetNofIterations(Int_t nofIterations) { fNofIterations = nofIterations; }
52 void SetMaxNofMissingHits(const vector<Int_t>& maxNofMissingHits) { fMaxNofMissingHits = maxNofMissingHits; }
53 void SetPDG(const vector<Int_t>& pdg) { fPDG = pdg; }
54 void SetChiSqStripHitCut(const vector<litfloat>& chiSqStripHitCut) { fChiSqStripHitCut = chiSqStripHitCut; }
55 void SetChiSqPixelHitCut(const vector<litfloat>& chiSqPixelHitCut) { fChiSqPixelHitCut = chiSqPixelHitCut; }
56 void SetSigmaCoef(const vector<litfloat>& sigmaCoef) { fSigmaCoef = sigmaCoef; }
57
58 protected:
59 void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd);
60
67
74
80 void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd);
81
89
90 private:
91 TrackPtrVector fTracks; // Local copy of tracks.
92 CbmLitHitData fHitData; // Hit storage.
93 std::set<Int_t> fUsedHitsSet; // Sets with hits that have been used.
94 std::set<Int_t> fUsedSeedsSet; // Set with track seeds that have been used.
95
96 TrackSelectionPtr fSeedSelection; // Seed selection tool.
97 TrackSelectionPtr fFinalSelection; // Final track selection tool.
98 TrackPropagatorPtr fPropagator; // Track propagation tool.
99 TrackUpdatePtr fFilter; // KF update tool.
100
101 Int_t fNofStations; // Number of tracking stations.
102 Int_t fNofIterations; // Number of tracking iterations
103 Int_t fIteration; // Current tracking iteration
104 // Tracking parameters for each iteration
105 vector<Int_t> fMaxNofMissingHits; // Maximum number of acceptable missing hits.
106 vector<Int_t> fPDG; // Particle hypothesis for tracking.
107 vector<litfloat> fChiSqStripHitCut; // Chi-square cut for strip hits.
108 vector<litfloat> fChiSqPixelHitCut; // Chi-square cut for pixel hits.
109 vector<litfloat> fSigmaCoef; // Sigma coefficient for preliminary hit selection
110};
111
112#endif /* CBMLITTRACKFINDERNN_H_ */
TClonesArray * tracks
LitStatus
Definition CbmLitEnums.h:29
Class for accessing the hits in the track reconstruction.
Typedefs for algorithm interfaces.
Typedefs for data structures used in littrack.
static vector< vector< QAHit > > hits
boost::shared_ptr< CbmLitTrackPropagator > TrackPropagatorPtr
boost::shared_ptr< CbmLitTrackUpdate > TrackUpdatePtr
boost::shared_ptr< CbmLitTrackSelection > TrackSelectionPtr
std::vector< CbmTofHit * >::iterator HitPtrIterator
Definition CbmTofTypes.h:21
std::vector< CbmTofTrack * >::iterator TrackPtrIterator
Definition CbmTofTypes.h:25
std::vector< CbmTofTrack * > TrackPtrVector
Definition CbmTofTypes.h:26
std::vector< CbmTofHit * > HitPtrVector
Definition CbmTofTypes.h:20
void SetPropagator(TrackPropagatorPtr propagator)
void SetPDG(const vector< Int_t > &pdg)
TrackPropagatorPtr fPropagator
std::set< Int_t > fUsedSeedsSet
void CopyToOutput(TrackPtrIterator itBegin, TrackPtrIterator itEnd, TrackPtrVector &tracks)
Copy tracks to output array.
void SetMaxNofMissingHits(const vector< Int_t > &maxNofMissingHits)
std::set< Int_t > fUsedHitsSet
void RemoveHits(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Write already used hits to a used hits set.
void SetNofStations(Int_t nofStations)
void SetChiSqPixelHitCut(const vector< litfloat > &chiSqPixelHitCut)
void InitTrackSeeds(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Initialize track seeds and copy to local array.
TrackSelectionPtr fFinalSelection
TrackSelectionPtr fSeedSelection
void SetChiSqStripHitCut(const vector< litfloat > &chiSqStripHitCut)
void SetFilter(TrackUpdatePtr filter)
void FollowTracks(TrackPtrIterator itBegin, TrackPtrIterator itEnd)
Follow tracks through detector.
vector< litfloat > fSigmaCoef
void SetNofIterations(Int_t nofIterations)
void SetSeedSelection(TrackSelectionPtr seedSelection)
vector< litfloat > fChiSqPixelHitCut
virtual ~CbmLitTrackFinderNN()
Destructor.
void SetFinalSelection(TrackSelectionPtr finalSelection)
void SetSigmaCoef(const vector< litfloat > &sigmaCoef)
vector< litfloat > fChiSqStripHitCut
void ArrangeHits(HitPtrIterator itBegin, HitPtrIterator itEnd)
virtual LitStatus DoFind(HitPtrVector &hits, TrackPtrVector &trackSeeds, TrackPtrVector &tracks)
Inherited from CbmLitTrackFinder.
CbmLitTrackFinderNN()
Constructor.
vector< Int_t > fMaxNofMissingHits
CbmLitTrackFinder.h.