BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
BesStatus.cxx
Go to the documentation of this file.
1//
2// BesStatus.cxx
3//
4
5#include <iostream>
6
7#include "BesVisLib/BesStatus.h"
8
9using namespace std;
10
11#ifndef __CINT__
13#endif
14
15//__________________________________________________________
16// BesStatus
17// holds view status flags
18//
19//
20BesStatus::BesStatus() : TObject() {
21 //
22 // BesStatus default constructor
23 if ( gDebug ) cout << "BesStatus default ctor called" << endl;
24}
25
26//__________________________________________________________
27
29 //
30 // BesStatus default destructor
31 if (gDebug) {
32 cout << "BesStatus default dtor called" << endl;
33 }
34}
35
36//__________________________________________________________
37
39 //
40 // default view settings
41 if ( type & k3DView ) {
42 if ( gDebug ) cout << "BesStatus default 3D called" << endl;
43
44 //Long Peixun's update: Add CGEM option
45 fCgemGlobal = 0;
46 fCgemLayers = 1;
47 fCgemXStrips = 0;
48 fCgemVStrips = 0;
49
50 //Long Peixun's update: Change some default value
51 fMdcGlobal = 0; // nothing, Long Peixun: 1 -> 0
52 fMdcTubes = 1; // tubes
53 fMdcWires = 0; // wires
54
55 fTofGlobal = 0; // nothing, Long Peixun: 1 -> 0
56 fTofEast = 1; // scintilator
57 fTofBarrel = 1; // scintilator
58 fTofWest = 1; // scintilator
59
60 fEmcGlobal = 0; // nothing, Long Peixun: 1 -> 0
61 fEmcEast = 1; // east frame, one cirlcle
62 fEmcBarrel = 1; // frame,
63 fEmcWest = 1; // west frame, one circle
64 fEmcSide = 0; // side
65
66 fMucGlobal = 0; // nothing, Long Peixun: 1 -> 0
67 fMucEast = 0; // gap
68 fMucBarrel = 1; // gap
69 fMucWest = 0; // gap
70 fMucStrips = 0; // strips
71
72 fFull3DMdc = 0;
73 fFull3DTof = 0;
74 fFull3DEmc = 0;
75 fFull3DMuc = 0;
76
77 fBeamPipe = 0; // beamPipe, Long Peixun: 1 -> 0
78 fZRPlaneOnXY = 0;
79 fAxis = 0;
80
81 //Long Peixun's update: add Cgem hits status
87
89 fMdcHits = 1;
90
92 fTofHitsEast = 1;
94 fTofHitsWest = 1;
95
97 fEmcHitsEast = 1;
99 fEmcHitsWest = 1;
100 fEmcHitsSide = 0;
101
102 fMucHitsGlobal = 1;
103 fMucHitsEast = 1;
104 fMucHitsBarrel = 1;
105 fMucHitsWest = 1;
106
107 fTracksGlobal = 1;
108 fTracksMdc = 1;
109 fTracksTof = 1;
110 fTracksEmc = 1;
111 fTracksMuc = 1;
112 fTracksExt = 1;
113
114 fFishEye = 0;
115 fPhiRangeMin = 90;
116 fPhiRangeMax = 120;
117 fZoom = 1.0; //Long Peixun's update: Initialize fZoom in 3D view
118
119 } else if ( type & kXYView ) {
120
121 if ( gDebug ) cout << "BesStatus default XY called" << endl;
122
123 //Long Peixun's update: Add CGEM option
124 fCgemGlobal = 1;
125 fCgemLayers = 0;
126 fCgemXStrips = 0;
127 fCgemVStrips = 0;
128
129 fMdcGlobal = 1; // nothing
130 fMdcTubes = 0; // tubes
131 fMdcWires = 0; // wires
132
133 fTofGlobal = 1; // nothing
134 fTofEast = 0; // circle
135 fTofBarrel = 1; // circle
136 fTofWest = 0; // circle
137
138 fEmcGlobal = 1; // nothing
139 fEmcEast = 0; // east ec crystals
140 fEmcBarrel = 1; // 120 crystals
141 fEmcWest = 0; // west ec crystals
142 fEmcSide = 0; // side
143
144 fMucGlobal = 1; // nothing
145 fMucEast = 0; // shape of bakelite or chamber
146 fMucBarrel = 1; // gap
147 fMucWest = 0; // shape of bakelite or chamber
148 fMucStrips = 0; // strips
149
150 fFull3DMdc = 0;
151 fFull3DTof = 0;
152 fFull3DEmc = 0;
153 fFull3DMuc = 0;
154
155 fBeamPipe = 1; // circle
156 fZRPlaneOnXY = 0;
157 fAxis = 0;
158
159 //Long Peixun's update: add Cgem hits status
160 fCgemHitsGlobal = 1;
161 fCgemHitsXStrip = 1;
162 fCgemHitsVStrip = 0;
165
166 fMdcHitsGlobal = 1;
167 fMdcHits = 1;
168
169 fTofHitsGlobal = 1;
170 fTofHitsEast = 1;
171 fTofHitsBarrel = 1;
172 fTofHitsWest = 1;
173
174 fEmcHitsGlobal = 1;
175 fEmcHitsEast = 1;
176 fEmcHitsBarrel = 1;
177 fEmcHitsWest = 1;
178 fEmcHitsSide = 0;
179
180 fMucHitsGlobal = 1;
181 fMucHitsEast = 1;
182 fMucHitsBarrel = 1;
183 fMucHitsWest = 1;
184
185 fTracksGlobal = 1;
186 fTracksMdc = 1;
187 fTracksTof = 1;
188 fTracksEmc = 1;
189 fTracksMuc = 1;
190 fTracksExt = 1;
191
192 fFishEye = 0;
193 fPhiRangeMin = 90;
194 fPhiRangeMax = 120;
195 fZoom = 1.44;
196
197 } else if ( type & kZRView ) {
198
199 if ( gDebug ) cout << "BesStatus default ZR called" << endl;
200
201 //Long Peixun's update: Add CGEM option
202 fCgemGlobal = 1;
203 fCgemLayers = 0;
204 fCgemXStrips = 0;
205 fCgemVStrips = 0;
206
207 fMdcGlobal = 1; // nothing
208 fMdcTubes = 1; // nothing
209 fMdcWires = 0; // wire
210
211 fTofGlobal = 1; // nothing
212 fTofEast = 1; // box
213 fTofBarrel = 1; // box
214 fTofWest = 1; // box
215
216 fEmcGlobal = 1; // nothing
217 fEmcEast = 1; // intersect ec crystals
218 fEmcBarrel = 1; // 44 crystals
219 fEmcWest = 1; // intersect ec crystals
220 fEmcSide = 0; // side
221
222 fMucGlobal = 1; // nothing
223 fMucEast = 1; // project of bakelite or chamber
224 fMucBarrel = 1; // gap
225 fMucWest = 1; // shape of bakelite or chamber
226 fMucStrips = 0; // strips
227
228 fFull3DMdc = 0;
229 fFull3DTof = 0;
230 fFull3DEmc = 0;
231 fFull3DMuc = 0;
232
233 fBeamPipe = 1; // box
234 fZRPlaneOnXY = 0;
235 fAxis = 0;
236
237 //Long Peixun's update: add Cgem hits status
238 fCgemHitsGlobal = 1;
239 fCgemHitsXStrip = 1;
240 fCgemHitsVStrip = 1;
243
244 fMdcHitsGlobal = 1;
245 fMdcHits = 1;
246
247 fTofHitsGlobal = 1;
248 fTofHitsEast = 1;
249 fTofHitsBarrel = 1;
250 fTofHitsWest = 1;
251
252 fEmcHitsGlobal = 1;
253 fEmcHitsEast = 1;
254 fEmcHitsBarrel = 1;
255 fEmcHitsWest = 1;
256 fEmcHitsSide = 0;
257
258 fMucHitsGlobal = 1;
259 fMucHitsEast = 1;
260 fMucHitsBarrel = 1;
261 fMucHitsWest = 1;
262
263 fTracksGlobal = 1;
264 fTracksMdc = 1;
265 fTracksTof = 1;
266 fTracksEmc = 1;
267 fTracksMuc = 1;
268 fTracksExt = 1;
269
270 fFishEye = 0;
271 fPhiRangeMin = 90;
272 fPhiRangeMax = 120;
273 fZoom = 1.44;
274 }
275
276 //Long Peixun's update: Add CGEM unfolded view for each layer
277 else if (type & kCgemUFView0)
278 {
279 if ( gDebug ) cout << "BesStatus default CGEM UF0 called" << endl;
280
281 fCgemGlobal = 1;
282 fCgemLayers = 1;
283 fCgemXStrips = 0;
284 fCgemVStrips = 0;
285
286 fMdcGlobal = 1; // nothing
287 fMdcTubes = 0; // tubes
288 fMdcWires = 0; // wires
289
290 fTofGlobal = 1; // nothing
291 fTofEast = 0; // circle
292 fTofBarrel = 1; // circle
293 fTofWest = 0; // circle
294
295 fEmcGlobal = 1; // nothing
296 fEmcEast = 0; // east ec crystals
297 fEmcBarrel = 1; // 120 crystals
298 fEmcWest = 0; // west ec crystals
299 fEmcSide = 0; // side
300
301 fMucGlobal = 1; // nothing
302 fMucEast = 0; // shape of bakelite or chamber
303 fMucBarrel = 1; // gap
304 fMucWest = 0; // shape of bakelite or chamber
305 fMucStrips = 0; // strips
306
307 fFull3DMdc = 0;
308 fFull3DTof = 0;
309 fFull3DEmc = 0;
310 fFull3DMuc = 0;
311
312 fBeamPipe = 1; // circle
313 fZRPlaneOnXY = 0;
314 fAxis = 0;
315
316 fCgemHitsGlobal = 1;
317 fCgemHitsXStrip = 1;
318 fCgemHitsVStrip = 1;
321
322 fMdcHitsGlobal = 1;
323 fMdcHits = 1;
324
325 fTofHitsGlobal = 1;
326 fTofHitsEast = 1;
327 fTofHitsBarrel = 1;
328 fTofHitsWest = 1;
329
330 fEmcHitsGlobal = 1;
331 fEmcHitsEast = 1;
332 fEmcHitsBarrel = 1;
333 fEmcHitsWest = 1;
334 fEmcHitsSide = 0;
335
336 fMucHitsGlobal = 1;
337 fMucHitsEast = 1;
338 fMucHitsBarrel = 1;
339 fMucHitsWest = 1;
340
341 fTracksGlobal = 1;
342 fTracksMdc = 1;
343 fTracksTof = 1;
344 fTracksEmc = 1;
345 fTracksMuc = 1;
346 fTracksExt = 1;
347
348 fFishEye = 0;
349 fPhiRangeMin = 90;
350 fPhiRangeMax = 120;
351 fZoom = 13.0;
352 }
353 else if (type & kCgemUFView1)
354 {
355 if ( gDebug ) cout << "BesStatus default CGEM UF1 called" << endl;
356
357 fCgemGlobal = 1;
358 fCgemLayers = 1;
359 fCgemXStrips = 0;
360 fCgemVStrips = 0;
361
362 fMdcGlobal = 1; // nothing
363 fMdcTubes = 0; // tubes
364 fMdcWires = 0; // wires
365
366 fTofGlobal = 1; // nothing
367 fTofEast = 0; // circle
368 fTofBarrel = 1; // circle
369 fTofWest = 0; // circle
370
371 fEmcGlobal = 1; // nothing
372 fEmcEast = 0; // east ec crystals
373 fEmcBarrel = 1; // 120 crystals
374 fEmcWest = 0; // west ec crystals
375 fEmcSide = 0; // side
376
377 fMucGlobal = 1; // nothing
378 fMucEast = 0; // shape of bakelite or chamber
379 fMucBarrel = 1; // gap
380 fMucWest = 0; // shape of bakelite or chamber
381 fMucStrips = 0; // strips
382
383 fFull3DMdc = 0;
384 fFull3DTof = 0;
385 fFull3DEmc = 0;
386 fFull3DMuc = 0;
387
388 fBeamPipe = 1; // circle
389 fZRPlaneOnXY = 0;
390 fAxis = 0;
391
392 //Long Peixun's update: add Cgem hits status
393 fCgemHitsGlobal = 1;
394 fCgemHitsXStrip = 1;
395 fCgemHitsVStrip = 1;
398
399 fMdcHitsGlobal = 1;
400 fMdcHits = 1;
401
402 fTofHitsGlobal = 1;
403 fTofHitsEast = 1;
404 fTofHitsBarrel = 1;
405 fTofHitsWest = 1;
406
407 fEmcHitsGlobal = 1;
408 fEmcHitsEast = 1;
409 fEmcHitsBarrel = 1;
410 fEmcHitsWest = 1;
411 fEmcHitsSide = 0;
412
413 fMucHitsGlobal = 1;
414 fMucHitsEast = 1;
415 fMucHitsBarrel = 1;
416 fMucHitsWest = 1;
417
418 fTracksGlobal = 1;
419 fTracksMdc = 1;
420 fTracksTof = 1;
421 fTracksEmc = 1;
422 fTracksMuc = 1;
423 fTracksExt = 1;
424
425 fFishEye = 0;
426 fPhiRangeMin = 90;
427 fPhiRangeMax = 120;
428 fZoom = 9.0;
429 }
430 else if (type & kCgemUFView2)
431 {
432 if ( gDebug ) cout << "BesStatus default CGEM UF2 called" << endl;
433
434 fCgemGlobal = 1;
435 fCgemLayers = 1;
436 fCgemXStrips = 0;
437 fCgemVStrips = 0;
438
439 fMdcGlobal = 1; // nothing
440 fMdcTubes = 0; // tubes
441 fMdcWires = 0; // wires
442
443 fTofGlobal = 1; // nothing
444 fTofEast = 0; // circle
445 fTofBarrel = 1; // circle
446 fTofWest = 0; // circle
447
448 fEmcGlobal = 1; // nothing
449 fEmcEast = 0; // east ec crystals
450 fEmcBarrel = 1; // 120 crystals
451 fEmcWest = 0; // west ec crystals
452 fEmcSide = 0; // side
453
454 fMucGlobal = 1; // nothing
455 fMucEast = 0; // shape of bakelite or chamber
456 fMucBarrel = 1; // gap
457 fMucWest = 0; // shape of bakelite or chamber
458 fMucStrips = 0; // strips
459
460 fFull3DMdc = 0;
461 fFull3DTof = 0;
462 fFull3DEmc = 0;
463 fFull3DMuc = 0;
464
465 fBeamPipe = 1; // circle
466 fZRPlaneOnXY = 0;
467 fAxis = 0;
468
469 //Long Peixun's update: add Cgem hits status
470 fCgemHitsGlobal = 1;
471 fCgemHitsXStrip = 1;
472 fCgemHitsVStrip = 1;
475
476 fMdcHitsGlobal = 1;
477 fMdcHits = 1;
478
479 fTofHitsGlobal = 1;
480 fTofHitsEast = 1;
481 fTofHitsBarrel = 1;
482 fTofHitsWest = 1;
483
484 fEmcHitsGlobal = 1;
485 fEmcHitsEast = 1;
486 fEmcHitsBarrel = 1;
487 fEmcHitsWest = 1;
488 fEmcHitsSide = 0;
489
490 fMucHitsGlobal = 1;
491 fMucHitsEast = 1;
492 fMucHitsBarrel = 1;
493 fMucHitsWest = 1;
494
495 fTracksGlobal = 1;
496 fTracksMdc = 1;
497 fTracksTof = 1;
498 fTracksEmc = 1;
499 fTracksMuc = 1;
500 fTracksExt = 1;
501
502 fFishEye = 0;
503 fPhiRangeMin = 90;
504 fPhiRangeMax = 120;
505 fZoom = 7.0;
506 }
507}
508
509//__________________________________________________________
510
511void BesStatus::Transfer(BesStatus *right, Bool_t set) {
512 //
513 // transfer status informations from one status instance to
514 // another, from here, all components transfer functions are called
515 if ( gDebug ) cout << "BesStatus::Transfer(BesStatus *right) called" << endl;
516
517 this->TransferGeometryCgem (right, set); //Long Peixun's update: for CGEM
518 this->TransferGeometryMdc (right, set);
519 this->TransferGeometryTof (right, set);
520 this->TransferGeometryEmc (right, set);
521 this->TransferGeometryMuc (right, set);
522 this->TransferGeometryFull3D (right, set);
523 this->TransferGeometryOtherParts (right, set);
524
525 this->TransferHitsCgem(right, set);
526 this->TransferHitsMdc (right, set);
527 this->TransferHitsTof (right, set);
528 this->TransferHitsEmc (right, set);
529 this->TransferHitsMuc (right, set);
530
531 this->TransferTracks (right, set);
532
533 this->TransferFishEye (right, set);
534 this->TransferPhiRange (right, set);
535 this->TransferZoom (right, set);
536}
537
538//__________________________________________________________
539//Long Peixun's update: for CGEM
541{
542 fCgemGlobal = right->fCgemGlobal;
543 fCgemLayers = right->fCgemLayers;
544 fCgemXStrips = right->fCgemXStrips;
545 fCgemVStrips = right->fCgemVStrips;
546}
547
548//__________________________________________________________
549
551
552 fMdcGlobal = right->fMdcGlobal;
553 fMdcTubes = right->fMdcTubes;
554 fMdcWires = right->fMdcWires;
555}
556
557// ____________________________________________________________
558
560
561 fTofGlobal = right->fTofGlobal;
562 fTofEast = right->fTofEast;
563 fTofBarrel = right->fTofBarrel;
564 fTofWest = right->fTofWest;
565}
566
567//__________________________________________________________
568
570
571 fEmcGlobal = right->fEmcGlobal;
572 fEmcEast = right->fEmcEast;
573 fEmcBarrel = right->fEmcBarrel;
574 fEmcWest = right->fEmcWest;
575 fEmcSide = right->fEmcSide;
576}
577
578// ____________________________________________________________
579
581
582 fMucGlobal = right->fMucGlobal;
583 fMucEast = right->fMucEast;
584 fMucBarrel = right->fMucBarrel;
585 fMucWest = right->fMucWest;
586 fMucStrips = right->fMucStrips;
587}
588
589// ____________________________________________________________
590
592{
593 fFull3DCgem = right->fFull3DCgem; //Long Peixun's update: for CGEM
594 fFull3DMdc = right->fFull3DMdc;
595 fFull3DTof = right->fFull3DTof;
596 fFull3DEmc = right->fFull3DEmc;
597 fFull3DMuc = right->fFull3DMuc;
598}
599
600// ____________________________________________________________
601
603
604 fBeamPipe = right->fBeamPipe;
605 fZRPlaneOnXY = right->fZRPlaneOnXY;
606 fAxis = right->fAxis;
607}
608
609//__________________________________________________________
610//Long Peixun's update: for CGEM
611void BesStatus::TransferHitsCgem(BesStatus *right, Bool_t set) {
612
618}
619
620//__________________________________________________________
621
622void BesStatus::TransferHitsMdc(BesStatus *right, Bool_t set) {
623
625 fMdcHits = right->fMdcHits;
626}
627
628//__________________________________________________________
629
630void BesStatus::TransferHitsTof(BesStatus *right, Bool_t set) {
631
633 fTofHitsEast = right->fTofHitsEast;
635 fTofHitsWest = right->fTofHitsWest;
636}
637
638//__________________________________________________________
639
640void BesStatus::TransferHitsEmc(BesStatus *right, Bool_t set) {
641
643 fEmcHitsEast = right->fEmcHitsEast;
645 fEmcHitsWest = right->fEmcHitsWest;
646 fEmcHitsSide = right->fEmcHitsSide;
647}
648
649//__________________________________________________________
650
651void BesStatus::TransferHitsMuc(BesStatus *right, Bool_t set) {
652
654 fMucHitsEast = right->fMucHitsEast;
656 fMucHitsWest = right->fMucHitsWest;
657}
658
659//__________________________________________________________
660
661void BesStatus::TransferTracks(BesStatus *right, Bool_t set) {
662
664 fTracksMdc = right->fTracksMdc;
665 fTracksTof = right->fTracksTof;
666 fTracksEmc = right->fTracksEmc;
667 fTracksMuc = right->fTracksMuc;
668 fTracksExt = right->fTracksExt;
669}
670
671//__________________________________________________________
672
673void BesStatus::TransferFishEye(BesStatus *right, Bool_t set) {
674 //
675 // transfer function for fish eye flag
676 if ( gDebug ) cout << "BesStatus::TransferFishEye(BesStatus *right) called" << endl;
677
678 fFishEye = right->fFishEye;
679}
680
681//__________________________________________________________
682
683void BesStatus::TransferPhiRange(BesStatus *right, Bool_t set) {
684 //
685 // transfer function for fish phi range
686 if ( gDebug ) cout << "BesStatus::TransferPhiRange(BesStatus *right) called" << endl;
687
688 fPhiRangeMin = right->fPhiRangeMin;
689 fPhiRangeMax = right->fPhiRangeMax;
690}
691
692//__________________________________________________________
693
694void BesStatus::TransferZoom(BesStatus *right, Bool_t set) {
695 //
696 // transfer function for zoom
697 if ( gDebug ) cout << "BesStatus::TransferZoom(BesStatus *right) called" << endl;
698
699 fZoom = right->fZoom;
700}
701
702istream& operator>> (istream& is,BesStatus& bs)
703{
704 //Long Peixun's update: Add CGEM flags;
705 unsigned int cMdc, cTof, cEmc, cMuc, cFull3D, cOther, cMdcHits, cCgem, cCgemHits;
706 unsigned int cTofHits, cEmcHits, cMucHits, cTracks;
707 Float_t cZoom;
708
709 is >> hex >> cMdc >> cTof >> cEmc >> cMuc >> cFull3D >>
710 cOther >> cMdcHits >> cTofHits >> cEmcHits >> cMucHits >> cTracks >> cZoom
711 >> cCgem >> cCgemHits; //Long Peixun's update: for CGEM
712
713 bs.fMdcGlobal = 1 & (cMdc>>2);
714 bs.fMdcTubes = 1 & (cMdc>>1);
715 bs.fMdcWires = 1 & cMdc;
716
717 bs.fTofGlobal = 1 & (cTof>>3);
718 bs.fTofEast = 1 & (cTof>>2);
719 bs.fTofBarrel = 1 & (cTof>>1);
720 bs.fTofWest = 1 & cTof;
721
722 bs.fEmcGlobal = 1 & (cEmc>>4);
723 bs.fEmcEast = 1 & (cEmc>>3);
724 bs.fEmcBarrel = 1 & (cEmc>>2);
725 bs.fEmcWest = 1 & (cEmc>>1);
726 bs.fEmcSide = 1 & cEmc;
727
728 bs.fMucGlobal = 1 & (cMuc>>4);
729 bs.fMucEast = 1 & (cMuc>>3);
730 bs.fMucBarrel = 1 & (cMuc>>2);
731 bs.fMucWest = 1 & (cMuc>>1);
732 bs.fMucStrips = 1 & cMuc;
733
734 bs.fFull3DMdc = 1 & (cFull3D>>3);
735 bs.fFull3DTof = 1 & (cFull3D>>2);
736 bs.fFull3DEmc = 1 & (cFull3D>>1);
737 bs.fFull3DMuc = 1 & cFull3D;
738
739 bs.fBeamPipe = 1 & (cOther>>2);
740 bs.fZRPlaneOnXY = 1 & (cOther>>1);
741 bs.fAxis = 1 & cOther;
742
743 bs.fMdcHitsGlobal = 1 & (cMdcHits>>1);
744 bs.fMdcHits = 1 & cMdcHits;
745
746 bs.fTofHitsGlobal = 1 & (cTofHits>>3);
747 bs.fTofHitsEast = 1 & (cTofHits>>2);
748 bs.fTofHitsBarrel = 1 & (cTofHits>>1);
749 bs.fTofHitsWest = 1 & cTofHits;
750
751 bs.fEmcHitsGlobal = 1 & (cEmcHits>>4);
752 bs.fEmcHitsEast = 1 & (cEmcHits>>3);
753 bs.fEmcHitsBarrel = 1 & (cEmcHits>>2);
754 bs.fEmcHitsWest = 1 & (cEmcHits>>1);
755 bs.fEmcHitsSide = 1 & cEmcHits;
756
757 bs.fMucHitsGlobal = 1 & (cMucHits>>3);
758 bs.fMucHitsEast = 1 & (cMucHits>>2);
759 bs.fMucHitsBarrel = 1 & (cMucHits>>1);
760 bs.fMucHitsWest = 1 & cMucHits;
761
762 bs.fTracksGlobal = 1 & (cTracks>>5);
763 bs.fTracksMdc = 1 & (cTracks>>4);
764 bs.fTracksTof = 1 & (cTracks>>3);
765 bs.fTracksEmc = 1 & (cTracks>>2);
766 bs.fTracksMuc = 1 & (cTracks>>1);
767 bs.fTracksExt = 1 & cTracks;
768 bs.fZoom = cZoom;
769
770 //Long Peixun's update: Read CGEM flags
771 //Long Peixun's update: Read CGEM flags
772 bs.fCgemGlobal = 1 & (cCgem >> 3);
773 bs.fCgemLayers = 1 & (cCgem >> 2);
774 bs.fCgemXStrips = 1 & (cCgem >> 1);
775 bs.fCgemVStrips = 1 & cCgem;
776 bs.fCgemHitsGlobal = 1 & (cCgemHits >> 4);
777 bs.fCgemHitsXStrip = 1 & (cCgemHits >> 3);
778 bs.fCgemHitsVStrip = 1 & (cCgemHits >> 2);
779 bs.fCgemHitsClusters = 1 & (cCgemHits >> 1);
780 bs.fCgemHitsFiredHL = 1 & cCgemHits;
781
782 return is;
783}
784
785ostream& operator<< (ostream& os,const BesStatus& bs) {
786 return os << hex << " "
787 << (bs.fMdcGlobal<<2) + (bs.fMdcTubes<<1) + bs.fMdcWires << " "
788 << (bs.fTofGlobal<<3) + (bs.fTofEast<<2) + (bs.fTofBarrel<<1) + bs.fTofWest << " "
789 << (bs.fEmcGlobal<<4) + (bs.fEmcEast<<3) + (bs.fEmcBarrel<<2) + (bs.fEmcWest<<1) + bs.fEmcSide << " "
790 << (bs.fMucGlobal<<4) + (bs.fMucEast<<3) + (bs.fMucBarrel<<2) + (bs.fMucWest<<1) + bs.fMucStrips << " "
791 << (bs.fFull3DMdc<<3) + (bs.fFull3DTof<<2) + (bs.fFull3DEmc<<1) + bs.fFull3DMuc << " "
792 << (bs.fBeamPipe<<2) + (bs.fZRPlaneOnXY<<1) + bs.fAxis << " "
793 << (bs.fMdcHitsGlobal<<1) + bs.fMdcHits << " "
794 << (bs.fTofHitsGlobal<<3) + (bs.fTofHitsEast<<2) + (bs.fTofHitsBarrel<<1) + bs.fTofHitsWest << " "
795 << (bs.fEmcHitsGlobal<<4) + (bs.fEmcHitsEast<<3) + (bs.fEmcHitsBarrel<<2) + (bs.fEmcHitsWest<<1) + bs.fEmcHitsSide << " "
796 << (bs.fMucHitsGlobal<<3) + (bs.fMucHitsEast<<2) + (bs.fMucHitsBarrel<<1) + bs.fMucHitsWest << " "
797 << (bs.fTracksGlobal<<5) + (bs.fTracksMdc<<4) + (bs.fTracksTof<<3) + (bs.fTracksEmc<<2) + (bs.fTracksMuc<<1) + bs.fTracksExt << " " << bs.fZoom << " "
798 //Long Peixun's update: Write CGEM flags
799 << (bs.fCgemGlobal << 3) + (bs.fCgemLayers << 2) + (bs.fCgemXStrips << 1) + bs.fCgemVStrips << " "
800 << (bs.fCgemHitsGlobal << 4) + (bs.fCgemHitsXStrip << 3) + (bs.fCgemHitsVStrip << 2) + (bs.fCgemHitsClusters << 1) + bs.fCgemHitsFiredHL;
801}
ostream & operator<<(ostream &os, const BesStatus &bs)
Definition: BesStatus.cxx:785
ClassImp(BesStatus) BesStatus
Definition: BesStatus.cxx:12
istream & operator>>(istream &is, BesStatus &bs)
Definition: BesStatus.cxx:702
Bool_t fTracksEmc
visibility flag for Tof Tracks
Bool_t fMucHitsEast
visibility flag for global Muc Hits
void TransferGeometryMdc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:550
Bool_t fTofHitsEast
visibility flag for global Tof Hits
Bool_t fMucBarrel
visivility flag for Muc east EC
Bool_t fFull3DCgem
visivility flag for Muc strips
Bool_t fTracksMdc
visibility flag for global Tracks
Bool_t fTofBarrel
visibility flag for Tof east EC
Bool_t fTracksExt
visibility flag for Muc Tracks
void TransferPhiRange(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:683
void TransferHitsMdc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:622
void TransferGeometryMuc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:580
Bool_t fMucStrips
visivility flag for Muc west EC
void TransferGeometryFull3D(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:591
void TransferHitsMuc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:651
void TransferGeometryEmc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:569
void TransferGeometryTof(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:559
Bool_t fAxis
visibility flag for ZRPlaneOnXY
Bool_t fEmcHitsGlobal
visibility flag for Tof Hits West
Bool_t fMucHitsWest
visibility flag for Muc Hits Barrel
void TransferHitsTof(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:630
Bool_t fZRPlaneOnXY
visibility flag for beam pipe
Bool_t fMucWest
visivility flag for Muc barrel
Bool_t fMucEast
visivility flag for global Muc
Bool_t fMdcWires
visibility flag for Mdc main tubes
Bool_t fFull3DMuc
visivility flag for full 3D Emc
Bool_t fEmcGlobal
visibility flag for Tof west EC
void TransferGeometryOtherParts(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:602
Bool_t fTofHitsWest
visibility flag for Tof Hits Barrel
Bool_t fFull3DEmc
visivility flag for full 3D Tof
Bool_t fTofHitsBarrel
visibility flag for Tof Hits East
void TransferHitsCgem(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:611
Bool_t fEmcWest
visivility flag for Emc barrel
Bool_t fTofWest
visibility flag for Tof barrel
Bool_t fTofEast
visibility flag for global Tof
Bool_t fTofHitsGlobal
visibility flag for Mdc Hits
Bool_t fEmcHitsBarrel
visibility flag for Emc Hits East
Bool_t fEmcEast
visivility flag for global Emc
Bool_t fMdcHits
visibility flag for global Mdc Hits
Bool_t fMdcTubes
visibility flag for global Mdc
Bool_t fEmcHitsSide
visibility flag for Emc Hits West
Bool_t fEmcHitsWest
visibility flag for Emc Hits Barrel
Bool_t fEmcSide
visivility flag for Emc west EC
Bool_t fFull3DTof
visivility flag for full 3D Mdc
Bool_t fTracksMuc
visibility flag for Emc Tracks
Bool_t fTofGlobal
visibility flag for Mdc wires
void TransferZoom(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:694
Bool_t fBeamPipe
visivility flag for full 3D Muc
void TransferFishEye(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:673
void TransferGeometryCgem(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:540
Bool_t fMucHitsBarrel
visibility flag for Muc Hits East
Bool_t fEmcHitsEast
visibility flag for global Emc Hits
Bool_t fTracksTof
visibility flag for Mdc Tracks
Bool_t fEmcBarrel
visivility flag for Emc east EC
void Transfer(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:511
Bool_t fMucHitsGlobal
visibility flag for Emc Hits Side
virtual ~BesStatus()
Definition: BesStatus.cxx:28
void TransferTracks(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:661
void Default(EBESViewType type)
Definition: BesStatus.cxx:38
void TransferHitsEmc(BesStatus *right, Bool_t set)
Definition: BesStatus.cxx:640
Bool_t fTracksGlobal
visibility flag for Muc Hits West