BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/include/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 <TAttFill.h>
6#include <TAttLine.h>
7#include <TNamed.h>
8#include <TPaveLabel.h>
9#include <TPaveText.h>
10#include <TVector3.h>
11#include <vector>
12
13#include "BesCircle2D.h"
14#include "BesMarker2D.h"
15#include "BesPaveText.h"
16#include "BesPolygon2D.h"
17
18class Tof2DScin : public TNamed, public TAttLine, public TAttFill {
19public:
21 Tof2DScin( const char* name, const char* title, Int_t N, Double_t* P, Int_t part );
22 ~Tof2DScin();
23
24 virtual void SetStyle();
25 virtual Int_t DistancetoPrimitive( Int_t px, Int_t py );
26 virtual void ExecuteEvent( Int_t event, Int_t px, Int_t py );
27
28 virtual void SetHighlighted( bool status = true ) { fHighlighted = status; }
29 virtual void SetFired( bool status = true ) { fFired = status; }
30 virtual bool IsHighlighted() { return fHighlighted; }
31 virtual bool IsFired() { return fFired; }
32
33 virtual void AddInfo( TString info ) { fInfoCon.push_back( info ); }
34 virtual void CloseInfo();
35 virtual void ClearInfo();
36
37 virtual void SetTime( Double_t time ) { fTime = time; }
38 virtual void SetCharge( Double_t charge ) { fCharge = charge; }
39 virtual Double_t GetTime() { return fTime; }
40 virtual Double_t GetCharge() { return fCharge; }
41 virtual void ResetTimeCharge() {
42 fTime = 0.0;
43 fCharge = 0.0;
44 }
45
46 virtual void Draw( Option_t* option = "" );
47 virtual void Paint( Option_t* option = "" );
48 virtual char* GetObjectInfo( Int_t px, Int_t py ) const;
49
50 virtual Int_t GetPart() { return fPart; }
51 virtual bool HasZRSection();
52 Double_t GetAngle( Double_t x, Double_t y ); // degree, 0~360
53 Double_t Range360( Double_t input );
54
55 // Long Peixun's update: Get Tof Wires information
56 void SetTimeChannel( UInt_t tc ) { timeChannel = tc; }
57 void SetChargeChannel( UInt_t cc ) { chargeChannel = cc; }
58 UInt_t GetTimeChannel() const { return timeChannel; }
59 UInt_t GetChargeChannel() const { return chargeChannel; }
60
61private:
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#endif
double P(RecMdcKalTrack *trk)
legend Draw()
Double_t time
titledef title[20]
virtual void SetHighlighted(bool status=true)
Double_t Range360(Double_t input)
Double_t GetAngle(Double_t x, Double_t y)
virtual void Paint(Option_t *option="")
virtual char * GetObjectInfo(Int_t px, Int_t py) const
virtual void SetCharge(Double_t charge)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual void SetFired(bool status=true)
virtual void CloseInfo()
virtual void SetStyle()
Definition Tof2DScin.cxx:98
virtual bool HasZRSection()
virtual void ClearInfo()
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)