CbmRoot
Loading...
Searching...
No Matches
CbmTimesliceRecoTracks.h
Go to the documentation of this file.
1/* Copyright (C) 2023 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau[committer], Norbert Herrmann */
4
5
6#ifndef CbmTimesliceRecoTracks_H
7#define CbmTimesliceRecoTracks_H
8
9#include <FairTask.h> // for FairTask, InitStatus
10
11#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
12#include <RtypesCore.h> // for Int_t, Double_t, Option_t
13#include <TEveVector.h> // for TEveVector
14#include <TObjArray.h> // for TObjArray, needed for FairRoot > v18.8.0
15#include <TString.h> // for TString
16
17class CbmPixelHit;
18class CbmStsTrack;
19class CbmTrack;
20
21class TClonesArray;
22class TEveTrack;
23class TEveTrackList;
24class TEveTrackPropagator;
25class TObjArray;
26class TParticle;
27
28#ifndef CbmTimesliceManager_H
30#endif // CbmTimesliceManager_H
31
36class CbmTimesliceRecoTracks : public FairTask {
37public:
39 CbmTimesliceRecoTracks() : CbmTimesliceRecoTracks("CbmTimesliceRecoTracks", 0) {}
40
45 CbmTimesliceRecoTracks(const char* name, Int_t iVerbose = 1) : FairTask(name, iVerbose) {}
46
48 virtual ~CbmTimesliceRecoTracks() = default;
49
52
54 void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
55
60 void SwitchPdgColorTrack(bool pdg_color) { fbPdgColorTrack = pdg_color; }
61
62 virtual InitStatus Init();
63 virtual void Exec(Option_t* option);
64 virtual void SetParContainers() { ; }
65 virtual void Finish() { ; }
66
70 void GotoEvent(uint32_t uEventIdx);
71 void Reset();
72 TEveTrackList* GetTrGroup(TParticle* P);
73
74protected:
75 void HandlePixelHit(TEveTrack* eveTrack, Int_t& n, const CbmPixelHit* hit, TEveVector* pMom);
76 void HandleTrack(TEveTrack* eveTrack, Int_t& n, const CbmTrack* recoTrack);
77 void HandleStsTrack(TEveTrack* eveTrack, Int_t& n, const CbmStsTrack* stsTrack);
78
79 TClonesArray* fCbmEvents = nullptr;
80 TClonesArray* fGlobalTracks = nullptr;
81 TClonesArray* fMvdHits = nullptr;
82 TClonesArray* fStsHits = nullptr;
83 TClonesArray* fStsTracks = nullptr;
84 TClonesArray* fRichRings = nullptr;
85 TClonesArray* fRichHits = nullptr;
86 TClonesArray* fMuchPixelHits = nullptr;
87 TClonesArray* fMuchTracks = nullptr;
88 TClonesArray* fTrdHits = nullptr;
89 TClonesArray* fTrdTracks = nullptr;
90 TClonesArray* fTofHits = nullptr;
91 TClonesArray* fTofTracks = nullptr;
92 TEveTrackPropagator* fTrPr = nullptr;
94 TObjArray* fEveTrList = new TObjArray(16);
95 uint32_t fEventIdx = 0;
96 TEveTrackList* fTrList = nullptr;
97 bool fbPdgColorTrack = false;
98
99 private:
101};
102
103
104#endif // CbmTimesliceRecoTracks_H
TBrowser Event display for Timeslices as Tree entry with CbmEvents in container. Function as unique I...
Interface class to add Cbm Hits drawing (derived from PixelHit) to CbmTimesliceManager....
CbmTimesliceRecoTracks & operator=(const CbmTimesliceRecoTracks &)=delete
TEveTrackList * GetTrGroup(TParticle *P)
ClassDef(CbmTimesliceRecoTracks, 1)
CbmTimesliceRecoTracks(const char *name, Int_t iVerbose=1)
void GotoEvent(uint32_t uEventIdx)
Load tracks from selected event in timeslice. RESERVED FOR GUI CALLS!
virtual void Exec(Option_t *option)
CbmTimesliceRecoTracks(const CbmTimesliceRecoTracks &)=delete
virtual ~CbmTimesliceRecoTracks()=default
void HandleTrack(TEveTrack *eveTrack, Int_t &n, const CbmTrack *recoTrack)
void HandlePixelHit(TEveTrack *eveTrack, Int_t &n, const CbmPixelHit *hit, TEveVector *pMom)
TEveTrackPropagator * fTrPr
void SetVerbose(Int_t iVerbose)
void SwitchPdgColorTrack(bool pdg_color)
void HandleStsTrack(TEveTrack *eveTrack, Int_t &n, const CbmStsTrack *stsTrack)
CbmTimesliceManager * fEventManager