BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EventDisplay/BesVisLib/include/BesVisLib/Mdc2DWire.h
Go to the documentation of this file.
1
2#ifndef MDC_2D_WIRE_H
3#define MDC_2D_WIRE_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
12#include "BesCircle2D.h"
13#include "BesMarker2D.h"
14#include "BesPaveText.h"
15#include "BesPolygon2D.h"
16
17class Mdc2DWire : public TNamed, public TAttLine, public TAttFill {
18public:
20 Mdc2DWire( const char* name, const char* title, Double_t rmin, Double_t rmax, Double_t dz,
21 Double_t phi, Double_t* center );
22 Mdc2DWire( const char* name, const char* title, Int_t N, Double_t* P );
23 ~Mdc2DWire();
24
25 virtual void Init();
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 Draw( Option_t* option = "" );
40 virtual void Paint( Option_t* option = "" );
41 virtual char* GetObjectInfo( Int_t px, Int_t py ) const;
42
43 virtual bool HasZRSection();
44 Double_t Range360( Double_t input );
45 void SetTime( Double_t time );
46 void SetCharge( Double_t charge );
47 void SetColorfulWire( Bool_t colorfulWire, Bool_t subEvTime );
48 void SetQOverflow( Bool_t qOvfl );
49 void SetEvTime( Double_t time );
50 // Long Peixun's update: raw channel data for mdc hits display
51 void SetTimeChannel( UInt_t tc );
52 void SetChargeChannel( UInt_t cc );
53
54 // Long Peixun's update: Get Mdc Wires information
55 Double_t GetTime() const { return mdcTime; }
56 Double_t GetCharge() const { return mdcCharge; }
57 Double_t GetEvTime() const { return evTime; }
58 Bool_t GetQOverflow() const { return qOverflow; }
59 UInt_t GetTimeChannel() const { return timeChannel; }
60 UInt_t GetChargeChannel() const { return chargeChannel; }
61
62private:
63 Int_t fWireType; // 1: Axial wire 2: Stereo wire
64
65 BesPolygon2D* fTube{ nullptr };
66 BesCircle2D* fWireCircle{ nullptr };
67 BesPolygon2D* fWireCone{ nullptr };
68 BesMarker2D* fZRPosMarker2D{ nullptr };
69
70 Double_t fWestHole[3], fEastHole[3];
71 Double_t fWestPhi, fEastPhi;
72 Double_t fZRSectionPos[3];
73 Bool_t fZRSectionFlag;
74
75 std::vector<TString> fInfoCon;
76 BesPaveText* fTip;
77 Bool_t fHighlighted;
78 Bool_t fFired;
79 Bool_t fColorfulWire;
80 Bool_t qOverflow;
81
82 // style
83 Int_t lcTube;
84 Int_t lwTube;
85 Int_t fcTube;
86 Int_t fsTube;
87
88 Int_t lcWire;
89 Int_t lwCircle;
90 Int_t lwCone;
91 Int_t fcCircle;
92 Int_t fcCone;
93 Int_t fsCircle;
94 Int_t fsCone;
95
96 Int_t lcWireFired;
97 Int_t lwCircleFired;
98 Int_t lwConeFired;
99 Int_t fcCircleFired;
100 Int_t fcConeFired;
101 Int_t fsCircleFired;
102 Int_t fsConeFired;
103
104 Int_t lcWireHL;
105 Int_t lwCircleHL;
106 Int_t lwConeHL;
107 Int_t fcCircleHL;
108 Int_t fcConeHL;
109 Int_t fsCircleHL;
110 Int_t fsConeHL;
111
112 Int_t sizeMarker;
113 Int_t cMarker;
114 Int_t cMarkerFired;
115 Int_t cMarkerHL;
116 Int_t sMarker;
117 Int_t sMarkerFired;
118 Int_t sMarkerHL;
119
120 Double_t mdcTime;
121 Double_t mdcCharge;
122 Double_t evTime;
123 // Long Peixun's update: raw channel data
124 UInt_t timeChannel;
125 UInt_t chargeChannel;
126
127 ClassDef( Mdc2DWire, 1 ) // Mdc 2D Wire
128};
129
130#endif
double P(RecMdcKalTrack *trk)
legend Draw()
Double_t time
titledef title[20]
void SetChargeChannel(UInt_t cc)
virtual void ClearInfo()
void SetQOverflow(Bool_t qOvfl)
virtual void CloseInfo()
virtual void SetHighlighted(bool status=true)
virtual char * GetObjectInfo(Int_t px, Int_t py) const
virtual bool HasZRSection()
void SetTime(Double_t time)
void SetColorfulWire(Bool_t colorfulWire, Bool_t subEvTime)
Double_t Range360(Double_t input)
void SetEvTime(Double_t time)
virtual void Paint(Option_t *option="")
virtual void Init()
virtual void SetStyle()
void SetTimeChannel(UInt_t tc)
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual void SetFired(bool status=true)
void SetCharge(Double_t charge)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)