CbmRoot
Loading...
Searching...
No Matches
CbmStsTrackFinder.h
Go to the documentation of this file.
1/* Copyright (C) 2006-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Denis Bertini [committer], Volker Friese, Evgeny Lavrik */
4
5// -------------------------------------------------------------------------
6// ----- CbmStsTrackFinder header file -----
7// ----- Created 02/02/05 by V. Friese -----
8// -------------------------------------------------------------------------
9
10
20#ifndef CBMSTSTRACKFINDER
21#define CBMSTSTRACKFINDER 1
22
23
24#include "TNamed.h"
25#include "TObject.h"
26
27class TClonesArray;
28class CbmStsDigiScheme;
29class FairField;
30class CbmEvent;
31class CbmStsTrack;
32
33
34class CbmStsTrackFinder : public TNamed {
35
36 public:
39
40
42 virtual ~CbmStsTrackFinder(){};
43
44
48 virtual void Init(){};
49
50
57 virtual Int_t DoFind() = 0;
58
60 void FillEloss();
61
62
66 virtual void Finish(){};
67
68
73 virtual Int_t FindTracks(CbmEvent* event) = 0;
74
75
77 void SetDigiScheme(CbmStsDigiScheme* scheme) { fDigiScheme = scheme; }
78 void SetField(FairField* field) { fField = field; }
79 void SetMvdHitArray(TClonesArray* hits) { fMvdHits = hits; }
80 void SetStsHitArray(TClonesArray* hits) { fStsHits = hits; }
81 void SetTrackArray(TClonesArray* tracks) { fTracks = tracks; }
82 void SetVerbose(Int_t verbose) { fVerbose = verbose; };
83
84
85 protected:
86 CbmStsDigiScheme* fDigiScheme; // STS digitisation scheme
87 FairField* fField; // Magnetic field
88 TClonesArray* fMvdHits; // MvdHit array
89 TClonesArray* fStsHits; // StsHit array
90 TClonesArray* fTracks; // StsTrack array
91 TClonesArray* fStsClusters; // StsCluster array
92 Int_t fVerbose; // Verbosity level
93
94
100 double CalculateEloss(CbmStsTrack* cbmStsTrack);
101
102 private:
103 constexpr static int MaxAdcVal() { return 31; }
104
107 double VecMedian(std::vector<double>& vec);
108
109
112
114};
115
116#endif
TClonesArray * tracks
static vector< vector< QAHit > > hits
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
double CalculateEloss(CbmStsTrack *cbmStsTrack)
CbmStsTrackFinder & operator=(const CbmStsTrackFinder &)
void SetMvdHitArray(TClonesArray *hits)
ClassDef(CbmStsTrackFinder, 1)
virtual void Init()
TClonesArray * fTracks
TClonesArray * fStsHits
virtual Int_t DoFind()=0
CbmStsTrackFinder(const CbmStsTrackFinder &)
void SetTrackArray(TClonesArray *tracks)
double VecMedian(std::vector< double > &vec)
void SetField(FairField *field)
TClonesArray * fMvdHits
static constexpr int MaxAdcVal()
virtual Int_t FindTracks(CbmEvent *event)=0
void FillEloss()
Calculate the median energy loss for the tracks and fill the respective data members.
CbmStsDigiScheme * fDigiScheme
void SetVerbose(Int_t verbose)
void SetStsHitArray(TClonesArray *hits)
virtual void Finish()
TClonesArray * fStsClusters
void SetDigiScheme(CbmStsDigiScheme *scheme)