]>
Commit | Line | Data |
---|---|---|
5a5a1232 | 1 | // $Header$ |
2 | ||
355c4728 | 3 | Reve::QuadSet* reve_quad_test(Float_t x=0, Float_t y=0, Float_t z=0, |
4 | Int_t num=100) | |
5a5a1232 | 5 | { |
becafd4b | 6 | TRandom r(0); |
7 | ||
8 | gStyle->SetPalette(1, 0); | |
9 | ||
3137f823 | 10 | Reve::RGBAPalette* pal = new Reve::RGBAPalette(0, 130); |
11 | ||
7ec0cf74 | 12 | Reve::QuadSet* q = new Reve::QuadSet("RectangleXY"); |
3137f823 | 13 | q->SetPalette(pal); |
04416fc7 | 14 | q->Reset(Reve::QuadSet::QT_RectangleXY, kFALSE, 32); |
355c4728 | 15 | for (Int_t i=0; i<num; ++i) { |
becafd4b | 16 | q->AddQuad(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10), |
04416fc7 | 17 | r.Uniform(0.2, 1), r.Uniform(0.2, 1)); |
becafd4b | 18 | q->QuadValue(r.Uniform(0, 130)); |
19 | } | |
20 | q->RefitPlex(); | |
21 | ||
adabd949 | 22 | Reve::ZTrans& t = q->RefHMTrans(); |
23 | t.SetPos(x, y, z); | |
24 | ||
25 | gReve->AddRenderElement(q); | |
26 | gReve->Redraw3D(); | |
27 | ||
28 | return q; | |
29 | } | |
30 | ||
7b7207d6 | 31 | Reve::QuadSet* reve_quad_test_emc(Float_t x=0, Float_t y=0, Float_t z=0, |
32 | Int_t num=100) | |
33 | { | |
34 | TRandom r(0); | |
35 | ||
36 | gStyle->SetPalette(1, 0); | |
37 | ||
38 | Reve::QuadSet* q = new Reve::QuadSet("EMC Supermodule"); | |
39 | q->SetOwnIds(kTRUE); | |
40 | q->Reset(Reve::QuadSet::QT_RectangleXZFixedDimY, kFALSE, 32); | |
41 | q->SetDefWidth(8); | |
42 | q->SetDefHeight(8); | |
43 | ||
44 | for (Int_t i=0; i<num; ++i) { | |
45 | q->AddQuad(r.Uniform(-100, 100), r.Uniform(-100, 100)); | |
46 | q->QuadValue(r.Uniform(0, 130)); | |
47 | q->AddId(new TNamed(Form("Cell %d", i))); | |
48 | } | |
49 | q->RefitPlex(); | |
50 | ||
51 | Reve::ZTrans& t = q->RefHMTrans(); | |
52 | t.SetPos(x, y, z); | |
53 | ||
54 | gReve->AddRenderElement(q); | |
55 | gReve->Redraw3D(); | |
56 | ||
57 | return q; | |
58 | } | |
59 | ||
adabd949 | 60 | Reve::QuadSet* reve_quad_test_circ() |
61 | { | |
62 | TRandom r(0); | |
63 | ||
64 | gStyle->SetPalette(1, 0); | |
65 | ||
66 | Reve::QuadSet* q = new Reve::QuadSet("Pepe"); | |
04416fc7 | 67 | q->Reset(Reve::QuadSet::QT_RectangleXY, kFALSE, 32); |
adabd949 | 68 | |
69 | Float_t R = 10, dW = 1, dH = .5; | |
70 | for (Int_t i=0; i<12; ++i) { | |
71 | Float_t x = R * TMath::Cos(TMath::TwoPi()*i/12); | |
72 | Float_t y = R * TMath::Sin(TMath::TwoPi()*i/12); | |
73 | q->AddQuad(x-dW, y-dH, r.Uniform(-1, 1), 2*dW, 2*dH); | |
74 | q->QuadValue(r.Uniform(0, 130)); | |
75 | } | |
76 | q->RefitPlex(); | |
77 | ||
78 | Reve::ZTrans& t = q->RefHMTrans(); | |
79 | t.SetPos(0, 0, 300); | |
80 | ||
becafd4b | 81 | gReve->AddRenderElement(q); |
82 | gReve->Redraw3D(); | |
adabd949 | 83 | |
84 | return q; | |
5a5a1232 | 85 | } |
7ec0cf74 | 86 | |
355c4728 | 87 | Reve::QuadSet* reve_quad_test_hex(Float_t x=0, Float_t y=0, Float_t z=0, |
bba4310b | 88 | Int_t num=100) |
7ec0cf74 | 89 | { |
90 | TRandom r(0); | |
91 | ||
92 | gStyle->SetPalette(1, 0); | |
93 | ||
94 | { | |
95 | Reve::QuadSet* q = new Reve::QuadSet("HexagonXY"); | |
96 | q->Reset(Reve::QuadSet::QT_HexagonXY, kFALSE, 32); | |
355c4728 | 97 | for (Int_t i=0; i<num; ++i) { |
7ec0cf74 | 98 | q->AddHexagon(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10), |
99 | r.Uniform(0.2, 1)); | |
100 | q->QuadValue(r.Uniform(0, 120)); | |
101 | } | |
102 | q->RefitPlex(); | |
103 | ||
104 | Reve::ZTrans& t = q->RefHMTrans(); | |
105 | t.SetPos(x, y, z); | |
106 | ||
107 | gReve->AddRenderElement(q); | |
108 | gReve->Redraw3D(); | |
109 | } | |
110 | ||
111 | { | |
112 | Reve::QuadSet* q = new Reve::QuadSet("HexagonYX"); | |
113 | q->Reset(Reve::QuadSet::QT_HexagonYX, kFALSE, 32); | |
355c4728 | 114 | for (Int_t i=0; i<num; ++i) { |
7ec0cf74 | 115 | q->AddHexagon(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10), |
116 | r.Uniform(0.2, 1)); | |
117 | q->QuadValue(r.Uniform(0, 120)); | |
118 | } | |
119 | q->RefitPlex(); | |
120 | ||
121 | Reve::ZTrans& t = q->RefHMTrans(); | |
122 | t.SetPos(x, y, z); | |
123 | ||
124 | gReve->AddRenderElement(q); | |
125 | gReve->Redraw3D(); | |
126 | } | |
127 | ||
128 | return q; | |
129 | } | |
bba4310b | 130 | |
131 | Reve::QuadSet* reve_quad_test_hexid(Float_t x=0, Float_t y=0, Float_t z=0, | |
babf7b28 | 132 | Int_t num=100, Bool_t register=kTRUE) |
bba4310b | 133 | { |
134 | TRandom r(0); | |
135 | ||
136 | gStyle->SetPalette(1, 0); | |
137 | ||
138 | { | |
139 | Reve::QuadSet* q = new Reve::QuadSet("HexagonXY"); | |
140 | q->SetOwnIds(kTRUE); | |
141 | q->Reset(Reve::QuadSet::QT_HexagonXY, kFALSE, 32); | |
142 | for (Int_t i=0; i<num; ++i) { | |
143 | q->AddHexagon(r.Uniform(-10, 10), r.Uniform(-10, 10), r.Uniform(-10, 10), | |
144 | r.Uniform(0.2, 1)); | |
145 | q->QuadValue(r.Uniform(0, 120)); | |
146 | q->QuadId(new TNamed(Form("Quad with idx=%d", i), "This title is not confusing.")); | |
147 | } | |
148 | q->RefitPlex(); | |
149 | ||
150 | Reve::ZTrans& t = q->RefHMTrans(); | |
151 | t.SetPos(x, y, z); | |
152 | ||
babf7b28 | 153 | if (register) |
154 | { | |
155 | gReve->AddRenderElement(q); | |
156 | gReve->Redraw3D(); | |
157 | } | |
bba4310b | 158 | } |
159 | ||
160 | return q; | |
161 | } | |
babf7b28 | 162 | |
163 | void reve_quad_test_hierarchy(Int_t n=4) | |
164 | { | |
165 | gStyle->SetPalette(1, 0); | |
166 | ||
7b7207d6 | 167 | Reve::RGBAPalette* pal = new Reve::RGBAPalette(20, 100); |
babf7b28 | 168 | pal->SetLimits(0, 120); |
169 | ||
7b7207d6 | 170 | Reve::FrameBox* box = new Reve::FrameBox(); |
babf7b28 | 171 | box->SetAABox(-10, -10, -10, 20, 20, 20); |
172 | box->SetFrameColor((Color_t) 33); | |
173 | ||
174 | Reve::RenderElementList* l = new Reve::RenderElementList("Parent/Dir"); | |
175 | l->SetTitle("Tooltip"); | |
176 | // l->SetMainColor((Color_t)3); | |
177 | gReve->AddRenderElement(l); | |
178 | ||
179 | // PMD: obtain digit-tree from run-loader, loop over entries. | |
180 | ||
181 | for (Int_t i=0; i<n; ++i) | |
182 | { | |
183 | Reve::QuadSet* qs = reve_quad_test_hexid(0, 0, 50*i, 50, kFALSE); | |
184 | // PMD: loop over clones-array, create hexagons above threshold. | |
185 | qs->SetPalette(pal); | |
186 | qs->SetFrame(box); | |
187 | gReve->AddRenderElement(l, qs); | |
188 | } | |
189 | ||
190 | gReve->Redraw3D(); | |
191 | } |