BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsFindTracks.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsFindTracks header file -----
3// ----- Created 02/02/05 by V. Friese -----
4// -------------------------------------------------------------------------
5
6/** CbmStsFindTracks
7 *@author V.Friese <v.friese@gsi.de>
8 **
9 ** Task class for track finding in the STS.
10 ** Input: TClonesArray of CbmStsHit
11 ** Output: TClonesArray of CbmStsTrack
12 **
13 ** Uses as track finding algorithm classes derived from CbmStsTrackFinder.
14 **/
15
16#ifndef CBMSTSFINDTRACKS
17#define CBMSTSFINDTRACKS 1
18
19#include "BmnTask.h"
20#include "CbmGeoStsPar.h"
21#include "CbmStsDigiPar.h"
22#include "CbmStsDigiScheme.h"
23#include "CbmStsTrackFinder.h"
25#include "FairField.h"
26#include "TClonesArray.h"
27#include "TStopwatch.h"
28
30{
31 public:
32 /** Default constructor **/
34 /** Standard constructor
35 *@param iVerbose Verbosity level
36 *@param sFinderName Name of STS track finder concrete class
37 *@param useMvd Include MVD hits in track finding
38 *@param name Task name
39 **/
40 CbmStsFindTracks(Int_t iVerbose,
41 const TString& sFinderName,
42 Bool_t useMvd = kFALSE,
43 const char* name = "STSFindTracks");
44 /** Destructor **/
45 virtual ~CbmStsFindTracks();
46
47 /** Task execution **/
48 virtual void Exec(Option_t* opt);
49
50 /** Accessors **/
52
53 /** Return if Mvd is used or not **/
54 Bool_t MvdUsage() const { return fUseMvd; }
55
56 /** Set concrete track finder **/
58 {
59 if (fFinder)
60 delete fFinder;
61 fFinder = finder;
62 };
63
64 virtual void OnlineWrite(const std::unique_ptr<TTree>& resultTree);
65
66 private:
67 Bool_t fUseMvd; // Inclusion of MVD hits
68 CbmGeoStsPar* fGeoPar; //! STS geometry parameters
69 CbmStsDigiPar* fDigiPar; //! STS digitisation parameters
70 CbmStsDigiScheme* fDigiScheme; //! STS digitisation scheme
71 FairField* fField; //! Magnetic field
72 CbmStsTrackFinder* fFinder; //! TrackFinder concrete class
73 TClonesArray* fMvdHits; //! Input array of MVD hits
74 TClonesArray* fStsHits; //! Input array of STS hits
75 TClonesArray* fTracks; //! Output array of CbmStsTracks
77 Int_t fNEvents; /** Number of events with success **/
78 Int_t fNEventsFailed; /** Number of events with failure **/
79 Double_t fTime; /** Total real time used for good events **/
80 Double_t fNTracks; /** Number of tracks created **/
82
83 /** Get parameter containers **/
84 virtual void SetParContainers();
85
86 void InitFinder();
87 /** Initialisation at beginning of each event **/
88 virtual InitStatus Init();
89
90 /** Finish at the end of each event **/
91 virtual void Finish();
92
94
97
99};
100
101#endif
bool Bool_t
int Int_t
constexpr Bool_t kFALSE
double Double_t
const char Option_t
#define ClassDef(name, id)
BmnTask()
Default constructor.
Definition BmnTask.cxx:3
virtual void SetParContainers()
Get parameter containers.
Double_t fTime
Number of events with failure.
TClonesArray * fMvdHits
TrackFinder concrete class.
CbmStsFindTracks()
Default constructor.
TClonesArray * fStsHits
Input array of MVD hits.
virtual void OnlineWrite(const std::unique_ptr< TTree > &resultTree)
Write task resul to tree.
Bool_t MvdUsage() const
Return if Mvd is used or not.
TStopwatch fTimer
Output array of CbmStsTracks.
CbmStsFindTracks(const CbmStsFindTracks &)
CbmStsDigiPar * fDigiPar
STS geometry parameters.
Double_t fNTracks
Total real time used for good events.
CbmStsTrackFinder * fFinder
Magnetic field.
void UseFinder(CbmStsTrackFinder *finder)
Set concrete track finder.
CbmGeoStsPar * fGeoPar
TClonesArray * fTracks
Input array of STS hits.
Int_t fNEventsFailed
Number of events with success.
TString finderName
Number of tracks created.
virtual void Exec(Option_t *opt)
Task execution.
virtual InitStatus Init()
Initialisation at beginning of each event.
CbmStsDigiScheme * fDigiScheme
STS digitisation parameters.
CbmStsTrackFinder * GetFinder()
Accessors.
virtual void Finish()
Finish at the end of each event.
CbmStsFindTracks operator=(const CbmStsFindTracks &)
FairField * fField
STS digitisation scheme.
virtual ~CbmStsFindTracks()
Destructor.