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