4 * @ingroup pwg2_forward_scripts_tests
13 kDownTriangle = 0x008,
24 * @ingroup pwg2_forward_scripts_tests
26 Int_t MarkerStyle(UInt_t bits)
28 Int_t base = bits & (0xFE);
29 Bool_t hollow = bits & kHollow;
31 case kCircle: return (hollow ? 24 : 20);
32 case kSquare: return (hollow ? 25 : 21);
33 case kUpTriangle: return (hollow ? 26 : 22);
34 case kDownTriangle: return (hollow ? 32 : 23);
35 case kDiamond: return (hollow ? 27 : 33);
36 case kCross: return (hollow ? 28 : 34);
37 case kStar: return (hollow ? 30 : 29);
47 * @ingroup pwg2_forward_scripts_tests
49 UShort_t MarkerBits(Int_t style)
53 case 24: case 25: case 26: case 27: case 28: case 30: case 32:
54 bits |= kHollow; break;
57 case 20: case 24: bits |= kCircle; break;
58 case 21: case 25: bits |= kSquare; break;
59 case 22: case 26: bits |= kUpTriangle; break;
60 case 23: case 32: bits |= kDownTriangle; break;
61 case 27: case 33: bits |= kDiamond; break;
62 case 28: case 34: bits |= kCross; break;
63 case 29: case 30: bits |= kStar; break;
73 * @ingroup pwg2_forward_scripts_tests
75 Int_t FlipHollow(Int_t style)
77 UShort_t bits = MarkerBits(style);
78 Int_t ret = MarkerStyle(bits ^ kHollow);
79 Info("FlipHollow", "style=%2d -> bits=0x%02x -> mask=0x%02x -> ret=%02d",
80 style, bits, (bits ^ kHollow), ret);
91 * @ingroup pwg2_forward_scripts_tests
93 void DrawOne(const char* what, UShort_t base, Double_t y)
95 TLatex* l = new TLatex(.07, y, what);
99 Int_t filled = MarkerStyle(base);
100 // Info("DrawOne", "%2d (%16s) -> %d", base, what, style);
101 TMarker* p = new TMarker(.35, y, filled);
102 p->SetMarkerSize(1.5);
105 Int_t hollow = MarkerStyle(base|kHollow);
106 p = new TMarker(.60, y, hollow);
107 p->SetMarkerSize(1.5);
110 p = new TMarker(.75, y, FlipHollow(filled));
111 p->SetMarkerSize(1.5);
114 p = new TMarker(.85, y, FlipHollow(hollow));
115 p->SetMarkerSize(1.5);