BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsTrackFinder.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsTrackFinder header file -----
3// ----- Created 02/02/05 by V. Friese -----
4// -------------------------------------------------------------------------
5
6/** CbmStsTrackFinder
7 *@author V.Friese <v.friese@gsi.de>
8 **
9 ** Abstract base class for concrete STS track finding algorithm.
10 ** Each derived class must implement the method DoFind. This has
11 ** to operate on the two TClonesArrays of pixel and strip hits
12 ** and to fill the CbmStsTrackArray.
13 **/
14
15#ifndef CBMSTSTRACKFINDER
16#define CBMSTSTRACKFINDER 1
17
18#include "TNamed.h"
19#include "TObject.h"
20
21class TClonesArray;
23class FairField;
24
25class CbmStsTrackFinder : public TNamed
26{
27
28 public:
29 /** Default constructor **/
31
32 /** Destructor **/
33 virtual ~CbmStsTrackFinder() {};
34
35 /** Virtual method Init. If needed, to be implemented in the
36 ** concrete class. Else no action.
37 **/
38 virtual void Init() {};
39
40 /** Abstract method DoFind. To be implemented in the concrete class.
41 ** Task: Read the hit array and fill the track array,
42 ** pointers to which are private members and set by the task
43 **
44 *@value Number of tracks created
45 **/
46 virtual Int_t DoFind() = 0;
47
48 /** Virtual method Finish. If needed, to be implemented in the concrete
49 ** class. Executed at the end of the run.
50 **/
51 virtual void Finish() {};
52
53 /** Modifiers **/
54 void SetDigiScheme(CbmStsDigiScheme* scheme) { fDigiScheme = scheme; }
55 void SetField(FairField* field) { fField = field; }
56 void SetMvdHitArray(TClonesArray* hits) { fMvdHits = hits; }
57 void SetStsHitArray(TClonesArray* hits) { fStsHits = hits; }
58 void SetTrackArray(TClonesArray* tracks) { fTracks = tracks; }
59 void SetVerbose(Int_t verbose) { fVerbose = verbose; };
60
61 protected:
62 CbmStsDigiScheme* fDigiScheme; // STS digitisation scheme
63 FairField* fField; // Magnetic field
64 TClonesArray* fMvdHits; // MvdHit array
65 TClonesArray* fStsHits; // StsHit array
66 TClonesArray* fTracks; // StsTrack array
67 Int_t fVerbose; // Verbosity level
68
69 private:
72
74};
75
76#endif
int Int_t
#define ClassDef(name, id)
CbmStsDigiScheme * fDigiScheme
void SetMvdHitArray(TClonesArray *hits)
CbmStsTrackFinder(const CbmStsTrackFinder &)=delete
virtual void Init()
Virtual method Init.
TClonesArray * fTracks
virtual ~CbmStsTrackFinder()
Destructor.
virtual Int_t DoFind()=0
Abstract method DoFind.
TClonesArray * fMvdHits
void SetTrackArray(TClonesArray *tracks)
CbmStsTrackFinder()
Default constructor.
void SetField(FairField *field)
TClonesArray * fStsHits
CbmStsTrackFinder & operator=(const CbmStsTrackFinder &)=delete
void SetVerbose(Int_t verbose)
void SetStsHitArray(TClonesArray *hits)
virtual void Finish()
Virtual method Finish.
void SetDigiScheme(CbmStsDigiScheme *scheme)
Modifiers.
friend friend class TClonesArray