]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/scripts/TestMarkers.C
Coverity (Ruben)
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / scripts / TestMarkers.C
CommitLineData
9ecab72f 1namespace {
2 enum {
3 kSolid = 0x000,
4 kHollow = 0x001,
5 kCircle = 0x002,
6 kSquare = 0x004,
7 kUpTriangle = 0x006,
8 kDownTriangle = 0x008,
9 kDiamond = 0x00a,
10 kCross = 0x00c,
11 kStar = 0x00e
12 };
13 Int_t MarkerStyle(UInt_t bits)
14 {
15 Int_t base = bits & (0xFE);
16 Bool_t hollow = bits & kHollow;
17 switch (base) {
18 case kCircle: return (hollow ? 24 : 20);
19 case kSquare: return (hollow ? 25 : 21);
20 case kUpTriangle: return (hollow ? 26 : 22);
21 case kDownTriangle: return (hollow ? 32 : 23);
22 case kDiamond: return (hollow ? 27 : 33);
23 case kCross: return (hollow ? 28 : 34);
24 case kStar: return (hollow ? 30 : 29);
25 }
26 return 1;
27 }
28 UShort_t MarkerBits(Int_t style)
29 {
30 UShort_t bits = 0;
31 switch (style) {
32 case 24: case 25: case 26: case 27: case 28: case 30: case 32:
33 bits |= kHollow; break;
34 }
35 switch (style) {
36 case 20: case 24: bits |= kCircle; break;
37 case 21: case 25: bits |= kSquare; break;
38 case 22: case 26: bits |= kUpTriangle; break;
39 case 23: case 32: bits |= kDownTriangle; break;
40 case 27: case 33: bits |= kDiamond; break;
41 case 28: case 34: bits |= kCross; break;
42 case 29: case 30: bits |= kStar; break;
43 }
44 return bits;
45 }
46 Int_t FlipHollow(Int_t style)
47 {
48 UShort_t bits = MarkerBits(style);
49 Int_t ret = MarkerStyle(bits ^ kHollow);
50 Info("FlipHollow", "style=%2d -> bits=0x%02x -> mask=0x%02x -> ret=%02d",
51 style, bits, (bits ^ kHollow), ret);
52 return ret;
53 }
54}
55
56void DrawOne(const char* what, UShort_t base, Double_t y)
57{
58 TLatex* l = new TLatex(.07, y, what);
59 l->SetTextSize(0.03);
60 l->Draw();
61
62 Int_t filled = MarkerStyle(base);
63 // Info("DrawOne", "%2d (%16s) -> %d", base, what, style);
64 TMarker* p = new TMarker(.35, y, filled);
65 p->SetMarkerSize(1.5);
66 p->Draw();
67
68 Int_t hollow = MarkerStyle(base|kHollow);
69 p = new TMarker(.60, y, hollow);
70 p->SetMarkerSize(1.5);
71 p->Draw();
72
73 p = new TMarker(.75, y, FlipHollow(filled));
74 p->SetMarkerSize(1.5);
75 p->Draw();
76
77 p = new TMarker(.85, y, FlipHollow(hollow));
78 p->SetMarkerSize(1.5);
79 p->Draw();
80
81}
82