BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/BesVisLib-00-05-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 //Long Peixun's update: Get Tof Wires information
55 void SetTimeChannel(UInt_t tc) { timeChannel = tc; }
56 void SetChargeChannel(UInt_t cc) { chargeChannel = cc; }
57 UInt_t GetTimeChannel() const { return timeChannel; }
58 UInt_t GetChargeChannel() const { return chargeChannel; }
59
60 private:
61
62 Int_t fPart;
63 BesPolygon2D *fScinXY;
64 BesPolygon2D *fScinZR;
65 BesPolygon2D *fScinXYFired;
66 BesPolygon2D *fScinZRFired;
67
68 static const Int_t fChargeMax = 50;
69 Double_t fTime, fCharge;
70
71 Double_t fZRSectionTolerance[3]; // to avoid on zrSection nothing drawn sometimes
72 Double_t fPhiMin, fPhiMax;
73
74 std::vector<TString> fInfoCon;
75 BesPaveText *fTip;
76 bool fHighlighted;
77 bool fFired;
78
79 // style
80 Int_t lcScin;
81 Int_t lwScin;
82 Int_t fcScin;
83 Int_t fsScin;
84
85 Int_t lcScinFired;
86 Int_t lwScinFired;
87 Int_t fcScinFired;
88 Int_t fsScinFired;
89
90 Int_t lcScinHL;
91 Int_t lwScinHL;
92 Int_t fcScinHL;
93 Int_t fsScinHL;
94
95 Int_t lcScinFiredHL;
96 Int_t lwScinFiredHL;
97 Int_t fcScinFiredHL;
98 Int_t fsScinFiredHL;
99
100 //Long Peixun's update: raw channel data
101 UInt_t timeChannel;
102 UInt_t chargeChannel;
103
104 ClassDef(Tof2DScin,1) // Tof 2D Scin
105
106};
107
108#endif
double P(RecMdcKalTrack *trk)
Double_t time
titledef title[20]
Double_t Range360(Double_t input)
Definition: Tof2DScin.cxx:384
Double_t GetAngle(Double_t x, Double_t y)
Definition: Tof2DScin.cxx:373
virtual void Paint(Option_t *option="")
Definition: Tof2DScin.cxx:218
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Definition: Tof2DScin.cxx:327
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Definition: Tof2DScin.cxx:160
virtual void CloseInfo()
Definition: Tof2DScin.cxx:130
virtual void SetStyle()
Definition: Tof2DScin.cxx:100
virtual bool HasZRSection()
Definition: Tof2DScin.cxx:336
virtual void ClearInfo()
Definition: Tof2DScin.cxx:124
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Definition: Tof2DScin.cxx:144
double y[1000]
legend Draw()
float charge