CbmRoot
Loading...
Searching...
No Matches
CbmTofTrackFinderNN.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2020 PI-UHd, GSI
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Norbert Herrmann [committer], Pierre-Alain Loizeau */
4
10#ifndef CBMTOFTRACKFINDERNN_H
11#define CBMTOFTRACKFINDERNN_H
12
13#include "CbmTofHit.h"
14#include "CbmTofTrackFinder.h"
15#include "CbmTofTracklet.h"
16#include "LKFMinuit.h"
17
18#include <map>
19#include <vector>
20
21class TClonesArray;
22
24 public:
29
33 virtual ~CbmTofTrackFinderNN();
34
38 void Init();
39
40 Int_t DoFind(TClonesArray* fTofHits, TClonesArray* fTofTracks);
41
42 void TrklSeed(Int_t iHit);
43 Int_t HitUsed(Int_t iHit);
44
45 /*
46 void RemoveMultipleAssignedHits(
47 TClonesArray* fTofHits,
48 Int_t iDet
49 );
50*/
51
52 void UpdateTrackList(Int_t iTrk);
54
55 inline void SetMaxTofTimeDifference(Double_t val) { fMaxTofTimeDifference = val; }
56 inline void SetTxLIM(Double_t val) { fTxLIM = val; }
57 inline void SetTyLIM(Double_t val) { fTyLIM = val; }
58 inline void SetTxMean(Double_t val) { fTxMean = val; }
59 inline void SetTyMean(Double_t val) { fTyMean = val; }
60 inline void SetSIGLIM(Double_t val) { fSIGLIM = val; }
61 inline void SetSIGLIMMOD(Double_t val) { fSIGLIMMOD = val; }
62 inline void SetChiMaxAccept(Double_t val) { fChiMaxAccept = val; }
63 inline void SetPosYMaxScal(Double_t val) { fPosYMaxScal = val; }
64
65 inline Double_t GetTxLIM() { return fTxLIM; }
66 inline Double_t GetTyLIM() { return fTyLIM; }
67 inline Double_t GetTxMean() { return fTxMean; }
68 inline Double_t GetTyMean() { return fTyMean; }
69 inline Double_t GetSIGLIM() { return fSIGLIM; }
70 inline Double_t GetSIGLIMMOD() { return fSIGLIMMOD; }
71 inline Double_t GetChiMaxAccept() { return fChiMaxAccept; }
72
73 static void Line3Dfit(CbmTofTracklet* pTrk);
74 static void Line3Dfit(CbmTofTracklet* pTrk, Int_t iAddr);
75 Bool_t Active(CbmTofTracklet* pTrk);
76
77 void PrintStatus(char* cComm);
78 void AddVertex();
79 inline void SetAddVertex(int ival) { fiAddVertex = ival; }
80 inline void SetVtxNbTrksMin(int ival) { fiVtxNbTrksMin = ival; }
81
82 //Copy constructor
84 //assignment operator
86
87 private:
88 TClonesArray* fHits;
89 TClonesArray* fOutTracks;
90 Int_t fiNtrks; // Number of Tracks
91 CbmTofFindTracks* fFindTracks; // Pointer to Task
94 Double_t fTxLIM;
95 Double_t fTyLIM;
96 Double_t fTxMean;
97 Double_t fTyMean;
98 Double_t fSIGLIM;
99 Double_t fSIGLIMMOD;
101 Double_t fPosYMaxScal;
103
104 //intermediate storage variables
105 std::vector<CbmTofTracklet*> fTracks; // Tracklets to which hit is assigned
106 //std::vector<std::map <CbmTofTracklet *, Int_t> > fvTrkMap; // Tracklets to which hit is assigned
107 std::vector<std::vector<CbmTofTracklet*>> fvTrkVec; // Tracklets to which hit is assigned
111};
112
113#endif
TClonesArray * fTofTracks
void SetMaxTofTimeDifference(Double_t val)
std::vector< CbmTofTracklet * > fTracks
CbmTofTrackFinderNN & operator=(const CbmTofTrackFinderNN &fSource)
CbmTofFindTracks * fFindTracks
void SetTyMean(Double_t val)
Int_t DoFind(TClonesArray *fTofHits, TClonesArray *fTofTracks)
CbmTofTrackFinderNN()
Constructor.
void SetTxMean(Double_t val)
void SetChiMaxAccept(Double_t val)
void SetAddVertex(int ival)
void Init()
Inherited from CbmTofTrackFinder.
ClassDef(CbmTofTrackFinderNN, 1)
Bool_t Active(CbmTofTracklet *pTrk)
std::vector< std::vector< CbmTofTracklet * > > fvTrkVec
static void Line3Dfit(CbmTofTracklet *pTrk)
void SetSIGLIM(Double_t val)
void SetTxLIM(Double_t val)
void PrintStatus(char *cComm)
void SetVtxNbTrksMin(int ival)
void UpdateTrackList(Int_t iTrk)
void SetPosYMaxScal(Double_t val)
void SetTyLIM(Double_t val)
void SetSIGLIMMOD(Double_t val)
virtual ~CbmTofTrackFinderNN()
Destructor.
Provides information on attaching a TofHit to a TofTrack.