PandaRoot
PndTrackDraw.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
24 #ifndef PNDTRACKDRAW_H
25 #define PNDTRACKDRAW_H
26 
27 #include "FairTask.h"
28 #include "TEveTrackPropagator.h"
29 #include "TEveElement.h"
30 
31 #include "TEveArrow.h"
32 #include "TString.h"
33 #include "FairGeanePro.h"
34 
35 #include "FairRootManager.h"
36 
37 #include "PndTrackCandDraw.h"
38 #include <vector>
39 class TEveTrackList;
40 class FairEventManager;
41 class TObjArray;
42 
43 class PndTrackDraw : public FairTask {
44 
45  public:
49  explicit PndTrackDraw(Bool_t propagation = kFALSE);
50 
56  explicit PndTrackDraw(const char *name, Bool_t propagation = kFALSE, Int_t iVerbose = 1);
57 
59  virtual ~PndTrackDraw();
60 
62  void SetVerbose(Int_t iVerbose) { fVerbose = iVerbose; }
64  virtual void Exec(Option_t *option);
65  virtual InitStatus Init();
66 
67  void Reset();
68  virtual Double_t GetTimeWindowPlus() { return fTimeWindowPlus; }
69  virtual Double_t GetTimeWindowMinus() { return fTimeWindowMinus; }
70 
75  virtual void SetTimeWindowMinus(Double_t val);
80  virtual void SetTimeWindowPlus(Double_t val);
81 
82  protected:
83  TEveTrackList *GetTrGroup(Int_t pid);
84  void PropagateTrack(FairTrackParP &trackPar, Int_t pidHypo, Int_t color = -1, TEveElement *group = 0);
85  void PropagateTrackHelix(FairTrackParP &trackPar, Int_t pidHypo, Int_t color = -1, TEveElement *group = 0);
86 
87  private:
88  TClonesArray *fPndTrackList = nullptr;
89  TEveTrackPropagator *fTrPr = nullptr;
90  FairEventManager *fEventManager = nullptr;
91  TObjArray *fEveTrList = nullptr;
92  TString fEvent;
93  TEveTrackList *fTrList = nullptr;
94 
95  // TEveElementList *fTrackCont;
96  FairGeanePro *fPro = nullptr;
97  // FairRootManager* fManager;
98  PndTrackCandDraw *fTrackCandDraw = nullptr;
99  std::vector<TEveArrow *> fArrows;
100  Bool_t fDoPropagation;
101 
102  TEveElementList *fListOfTracks = nullptr;
103 
104  Double_t MinEnergyLimit = -1.0;
105  Double_t MaxEnergyLimit = -1.0;
106  Double_t PEnergy = -1.0;
107 
108  BinaryFunctor *fStartFunctor = nullptr;
109  BinaryFunctor *fStopFunctor = nullptr;
110 
111  Double_t fTimeWindowPlus = -1.0;
112  Double_t fTimeWindowMinus = -1.0;
113  Double_t fStartTime = -1.0;
114  Bool_t fUseEventTime;
115 
116  ClassDef(PndTrackDraw, 1);
117 };
118 
119 #endif
virtual void SetTimeWindowMinus(Double_t val)
virtual void SetTimeWindowPlus(Double_t val)
TEveTrackList * GetTrGroup(Int_t pid)
void PropagateTrackHelix(FairTrackParP &trackPar, Int_t pidHypo, Int_t color=-1, TEveElement *group=0)
Task to display PndTrackCand&#39;s in FairEventDisplay.
virtual ~PndTrackDraw()
void PropagateTrack(FairTrackParP &trackPar, Int_t pidHypo, Int_t color=-1, TEveElement *group=0)
virtual InitStatus Init()
virtual Double_t GetTimeWindowMinus()
Definition: PndTrackDraw.h:69
void SetVerbose(Int_t iVerbose)
Definition: PndTrackDraw.h:62
Display PndTrack&#39;s in FairEventDisplay.
Definition: PndTrackDraw.h:43
PndTrackDraw(Bool_t propagation=kFALSE)
virtual Double_t GetTimeWindowPlus()
Definition: PndTrackDraw.h:68
virtual void Exec(Option_t *option)