BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/BesVisLib-00-04-04/BesVisLib/Tof2DScin.h
Go to the documentation of this file.
1
2#ifndef TOF_2D_SCIN_H
3#define TOF_2D_SCIN_H
4
5#include <vector>
6#include <TNamed.h>
7#include <TAttLine.h>
8#include <TAttFill.h>
9#include <TPaveLabel.h>
10#include <TPaveText.h>
11#include <TVector3.h>
12
13#include "BesCircle2D.h"
14#include "BesPolygon2D.h"
15#include "BesMarker2D.h"
16#include "BesPaveText.h"
17
18class Tof2DScin : public TNamed, public TAttLine, public TAttFill
19{
20 public:
21
23 Tof2DScin(const char* name, const char* title, Int_t N, Double_t *P, Int_t part);
24 ~Tof2DScin();
25
26 virtual void SetStyle();
27 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
28 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
29
30 virtual void SetHighlighted(bool status = true) { fHighlighted = status; }
31 virtual void SetFired(bool status = true) { fFired = status; }
32 virtual bool IsHighlighted() { return fHighlighted; }
33 virtual bool IsFired() { return fFired; }
34
35 virtual void AddInfo(TString info) { fInfoCon.push_back(info); }
36 virtual void CloseInfo();
37 virtual void ClearInfo();
38
39 virtual void SetTime(Double_t time) { fTime = time; }
40 virtual void SetCharge(Double_t charge) { fCharge = charge; }
41 virtual Double_t GetTime() { return fTime; }
42 virtual Double_t GetCharge() { return fCharge; }
43 virtual void ResetTimeCharge() { fTime = 0.0; fCharge = 0.0; }
44
45 virtual void Draw(Option_t *option = "");
46 virtual void Paint(Option_t *option = "");
47 virtual char *GetObjectInfo(Int_t px, Int_t py) const;
48
49 virtual Int_t GetPart() { return fPart; }
50 virtual bool HasZRSection();
51 Double_t GetAngle(Double_t x, Double_t y); // degree, 0~360
52 Double_t Range360(Double_t input);
53
54 private:
55
56 Int_t fPart;
57 BesPolygon2D *fScinXY;
58 BesPolygon2D *fScinZR;
59 BesPolygon2D *fScinXYFired;
60 BesPolygon2D *fScinZRFired;
61
62 static const Int_t fChargeMax = 50;
63 Double_t fTime, fCharge;
64
65 Double_t fZRSectionTolerance[3]; // to avoid on zrSection nothing drawn sometimes
66 Double_t fPhiMin, fPhiMax;
67
68 std::vector<TString> fInfoCon;
69 BesPaveText *fTip;
70 bool fHighlighted;
71 bool fFired;
72
73 // style
74 Int_t lcScin;
75 Int_t lwScin;
76 Int_t fcScin;
77 Int_t fsScin;
78
79 Int_t lcScinFired;
80 Int_t lwScinFired;
81 Int_t fcScinFired;
82 Int_t fsScinFired;
83
84 Int_t lcScinHL;
85 Int_t lwScinHL;
86 Int_t fcScinHL;
87 Int_t fsScinHL;
88
89 Int_t lcScinFiredHL;
90 Int_t lwScinFiredHL;
91 Int_t fcScinFiredHL;
92 Int_t fsScinFiredHL;
93
94 ClassDef(Tof2DScin,1) // Tof 2D Scin
95
96};
97
98#endif
double P(RecMdcKalTrack *trk)
Double_t time
virtual void Draw(Option_t *option="")
Definition: Tof2DScin.cxx:197
Double_t Range360(Double_t input)
Definition: Tof2DScin.cxx:374
Double_t GetAngle(Double_t x, Double_t y)
Definition: Tof2DScin.cxx:363
virtual void Paint(Option_t *option="")
Definition: Tof2DScin.cxx:208
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Definition: Tof2DScin.cxx:317
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Definition: Tof2DScin.cxx:151
virtual void CloseInfo()
Definition: Tof2DScin.cxx:121
virtual void SetStyle()
Definition: Tof2DScin.cxx:91
virtual bool HasZRSection()
Definition: Tof2DScin.cxx:326
virtual void ClearInfo()
Definition: Tof2DScin.cxx:115
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Definition: Tof2DScin.cxx:135