13 #ifndef PNDCADISPLAY_H 14 #define PNDCADISPLAY_H 16 #ifdef CATRACKER_DISPLAY 27 class PndCAPerformance;
29 class PndCALocalMCPoint;
39 #include "TPolyLine.h" 55 class PndCADisplayTmpHit;
57 static PndCADisplay &Instance();
61 virtual ~PndCADisplay();
71 int GetColor(
int i)
const;
72 int GetColorZ(
double z)
const;
73 int GetColorY(
double y)
const;
74 int GetColorK(
double k)
const;
75 int GetTrackMC(
const PndCADisplayTmpHit *vHits,
int NHits);
80 void DrawSlice(PndCATracker *slice,
bool DrawRows = 0,
bool DrawGrid = 1);
82 void DrawArc(
float x,
float y,
float r,
int Start = 1, Size_t width = 1);
83 void DrawPoint(
float x,
float y,
float z,
int Start = 1, Size_t width = 1);
85 void DrawGBPoint(
float x,
float y,
float z,
int Start = 1, Size_t width = 1);
86 void DrawGBPoint(
float x,
float y,
float z,
float angle = 0,
int Start = 1, Size_t width = 1);
87 void DrawSliceOutTrackParam(
int itr,
int color, Size_t width);
88 void DrawSliceOutTrack1(
int itr,
int color, Size_t width);
89 void DrawHelix(
float p0,
float c,
float z,
float zStart,
float z0,
float xc,
float yc,
float r,
float b,
int color, Size_t width);
90 void DrawParticleGlobal(
float *param,
float q,
float tStart,
float tEnd,
float b,
int color = kOrange, Size_t width = 1);
91 void DrawParticleGlobal(
float *param,
float q,
float n[4],
float b,
int color = kOrange, Size_t width = 1);
92 void DrawGBLine(
float x,
float y,
float z,
float x2,
float y2,
float z2,
int Start = 1, Size_t width = 1,
int projection = -1);
94 bool DrawTrack(
PndCATrackParam t,
double Alpha,
const PndCADisplayTmpHit *vHits,
int NHits,
int color = -1, Size_t width = -1,
bool pPoint = 0);
96 void DrawGBTrack(
int itr,
int color = -1,
int width = -1);
97 void DrawRecoTrack(
int itr,
int color = -1,
int width = -1);
98 void DrawMCTrack(
int itr,
int color = -1,
int width = -1);
100 void HitToGlobal(
const PndCAHit &hit,
float &x,
float &y,
float &z);
101 void HitToGlobal(
const PndCAHitV &hit,
int iV,
float &x,
float &y,
float &z);
105 void DrawPVHisto(
const vector<float> &pvHist,
const PndCAParam ¶m);
109 void DrawGBTrackFast(
const PndCAGBTracker &tracker,
int itr,
int color = -1);
110 bool DrawTracklet(
PndCATrackParam &track,
const int *hitstore,
int color = -1,
int width = -1,
bool pPoint = 0);
114 void DrawGBHit(
const PndCAGBTracker &tracker,
int iHit,
int color = -1, Size_t width = -1);
115 void DrawGBHits(
const PndCAGBTracker &tracker,
int color = -1, Size_t width = -1,
int hitsType = -1);
119 void SaveCanvasToFile(TString fileName);
121 TPad *CanvasYX() {
return fYX; }
122 TPad *CanvasZX() {
return fZX; }
126 TPad *fYX, *fZX, *fZR;
127 TCanvas *fFwdMvdCanvas;
128 TPad *fFwdMvdZY, *fFwdMvdZX, *fFwdMvdZR;
131 PndCAPerformance *fPerf;
132 double fZMin, fZMax, fYMin, fYMax;
133 double fRInnerMin, fRInnerMax, fROuterMin, fROuterMax, fTPCZMin, fTPCZMax;
147 PndCADisplay(
const PndCADisplay &);
148 PndCADisplay &operator=(
const PndCADisplay &);
151 #endif // CATRACKER_DISPLAY