BOSS 8.0.0
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 //
21 : TObject() {
22 //
23 // BesStatus default constructor
24 if ( gDebug ) cout << "BesStatus default ctor called" << endl;
25}
26
27//__________________________________________________________
28
30 //
31 // BesStatus default destructor
32 if ( gDebug ) { cout << "BesStatus default dtor called" << endl; }
33}
34
35//__________________________________________________________
36
38 //
39 // default view settings
40 if ( type & k3DView )
41 {
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
122 if ( gDebug ) cout << "BesStatus default XY called" << endl;
123
124 // Long Peixun's update: Add CGEM option
125 fCgemGlobal = 1;
126 fCgemLayers = 0;
127 fCgemXStrips = 0;
128 fCgemVStrips = 0;
129
130 fMdcGlobal = 1; // nothing
131 fMdcTubes = 0; // tubes
132 fMdcWires = 0; // wires
133
134 fTofGlobal = 1; // nothing
135 fTofEast = 0; // circle
136 fTofBarrel = 1; // circle
137 fTofWest = 0; // circle
138
139 fEmcGlobal = 1; // nothing
140 fEmcEast = 0; // east ec crystals
141 fEmcBarrel = 1; // 120 crystals
142 fEmcWest = 0; // west ec crystals
143 fEmcSide = 0; // side
144
145 fMucGlobal = 1; // nothing
146 fMucEast = 0; // shape of bakelite or chamber
147 fMucBarrel = 1; // gap
148 fMucWest = 0; // shape of bakelite or chamber
149 fMucStrips = 0; // strips
150
151 fFull3DMdc = 0;
152 fFull3DTof = 0;
153 fFull3DEmc = 0;
154 fFull3DMuc = 0;
155
156 fBeamPipe = 1; // circle
157 fZRPlaneOnXY = 0;
158 fAxis = 0;
159
160 // Long Peixun's update: add Cgem hits status
161 fCgemHitsGlobal = 1;
162 fCgemHitsXStrip = 1;
163 fCgemHitsVStrip = 0;
166
167 fMdcHitsGlobal = 1;
168 fMdcHits = 1;
169
170 fTofHitsGlobal = 1;
171 fTofHitsEast = 1;
172 fTofHitsBarrel = 1;
173 fTofHitsWest = 1;
174
175 fEmcHitsGlobal = 1;
176 fEmcHitsEast = 1;
177 fEmcHitsBarrel = 1;
178 fEmcHitsWest = 1;
179 fEmcHitsSide = 0;
180
181 fMucHitsGlobal = 1;
182 fMucHitsEast = 1;
183 fMucHitsBarrel = 1;
184 fMucHitsWest = 1;
185
186 fTracksGlobal = 1;
187 fTracksMdc = 1;
188 fTracksTof = 1;
189 fTracksEmc = 1;
190 fTracksMuc = 1;
191 fTracksExt = 1;
192
193 fFishEye = 0;
194 fPhiRangeMin = 90;
195 fPhiRangeMax = 120;
196 fZoom = 1.44;
197 }
198 else if ( type & kZRView )
199 {
200
201 if ( gDebug ) cout << "BesStatus default ZR called" << endl;
202
203 // Long Peixun's update: Add CGEM option
204 fCgemGlobal = 1;
205 fCgemLayers = 0;
206 fCgemXStrips = 0;
207 fCgemVStrips = 0;
208
209 fMdcGlobal = 1; // nothing
210 fMdcTubes = 1; // nothing
211 fMdcWires = 0; // wire
212
213 fTofGlobal = 1; // nothing
214 fTofEast = 1; // box
215 fTofBarrel = 1; // box
216 fTofWest = 1; // box
217
218 fEmcGlobal = 1; // nothing
219 fEmcEast = 1; // intersect ec crystals
220 fEmcBarrel = 1; // 44 crystals
221 fEmcWest = 1; // intersect ec crystals
222 fEmcSide = 0; // side
223
224 fMucGlobal = 1; // nothing
225 fMucEast = 1; // project of bakelite or chamber
226 fMucBarrel = 1; // gap
227 fMucWest = 1; // shape of bakelite or chamber
228 fMucStrips = 0; // strips
229
230 fFull3DMdc = 0;
231 fFull3DTof = 0;
232 fFull3DEmc = 0;
233 fFull3DMuc = 0;
234
235 fBeamPipe = 1; // box
236 fZRPlaneOnXY = 0;
237 fAxis = 0;
238
239 // Long Peixun's update: add Cgem hits status
240 fCgemHitsGlobal = 1;
241 fCgemHitsXStrip = 1;
242 fCgemHitsVStrip = 1;
245
246 fMdcHitsGlobal = 1;
247 fMdcHits = 1;
248
249 fTofHitsGlobal = 1;
250 fTofHitsEast = 1;
251 fTofHitsBarrel = 1;
252 fTofHitsWest = 1;
253
254 fEmcHitsGlobal = 1;
255 fEmcHitsEast = 1;
256 fEmcHitsBarrel = 1;
257 fEmcHitsWest = 1;
258 fEmcHitsSide = 0;
259
260 fMucHitsGlobal = 1;
261 fMucHitsEast = 1;
262 fMucHitsBarrel = 1;
263 fMucHitsWest = 1;
264
265 fTracksGlobal = 1;
266 fTracksMdc = 1;
267 fTracksTof = 1;
268 fTracksEmc = 1;
269 fTracksMuc = 1;
270 fTracksExt = 1;
271
272 fFishEye = 0;
273 fPhiRangeMin = 90;
274 fPhiRangeMax = 120;
275 fZoom = 1.44;
276 }
277
278 // Long Peixun's update: Add CGEM unfolded view for each layer
279 else if ( type & kCgemUFView0 )
280 {
281 if ( gDebug ) cout << "BesStatus default CGEM UF0 called" << endl;
282
283 fCgemGlobal = 1;
284 fCgemLayers = 1;
285 fCgemXStrips = 0;
286 fCgemVStrips = 0;
287
288 fMdcGlobal = 1; // nothing
289 fMdcTubes = 0; // tubes
290 fMdcWires = 0; // wires
291
292 fTofGlobal = 1; // nothing
293 fTofEast = 0; // circle
294 fTofBarrel = 1; // circle
295 fTofWest = 0; // circle
296
297 fEmcGlobal = 1; // nothing
298 fEmcEast = 0; // east ec crystals
299 fEmcBarrel = 1; // 120 crystals
300 fEmcWest = 0; // west ec crystals
301 fEmcSide = 0; // side
302
303 fMucGlobal = 1; // nothing
304 fMucEast = 0; // shape of bakelite or chamber
305 fMucBarrel = 1; // gap
306 fMucWest = 0; // shape of bakelite or chamber
307 fMucStrips = 0; // strips
308
309 fFull3DMdc = 0;
310 fFull3DTof = 0;
311 fFull3DEmc = 0;
312 fFull3DMuc = 0;
313
314 fBeamPipe = 1; // circle
315 fZRPlaneOnXY = 0;
316 fAxis = 0;
317
318 fCgemHitsGlobal = 1;
319 fCgemHitsXStrip = 1;
320 fCgemHitsVStrip = 1;
323
324 fMdcHitsGlobal = 1;
325 fMdcHits = 1;
326
327 fTofHitsGlobal = 1;
328 fTofHitsEast = 1;
329 fTofHitsBarrel = 1;
330 fTofHitsWest = 1;
331
332 fEmcHitsGlobal = 1;
333 fEmcHitsEast = 1;
334 fEmcHitsBarrel = 1;
335 fEmcHitsWest = 1;
336 fEmcHitsSide = 0;
337
338 fMucHitsGlobal = 1;
339 fMucHitsEast = 1;
340 fMucHitsBarrel = 1;
341 fMucHitsWest = 1;
342
343 fTracksGlobal = 1;
344 fTracksMdc = 1;
345 fTracksTof = 1;
346 fTracksEmc = 1;
347 fTracksMuc = 1;
348 fTracksExt = 1;
349
350 fFishEye = 0;
351 fPhiRangeMin = 90;
352 fPhiRangeMax = 120;
353 fZoom = 13.0;
354 }
355 else if ( type & kCgemUFView1 )
356 {
357 if ( gDebug ) cout << "BesStatus default CGEM UF1 called" << endl;
358
359 fCgemGlobal = 1;
360 fCgemLayers = 1;
361 fCgemXStrips = 0;
362 fCgemVStrips = 0;
363
364 fMdcGlobal = 1; // nothing
365 fMdcTubes = 0; // tubes
366 fMdcWires = 0; // wires
367
368 fTofGlobal = 1; // nothing
369 fTofEast = 0; // circle
370 fTofBarrel = 1; // circle
371 fTofWest = 0; // circle
372
373 fEmcGlobal = 1; // nothing
374 fEmcEast = 0; // east ec crystals
375 fEmcBarrel = 1; // 120 crystals
376 fEmcWest = 0; // west ec crystals
377 fEmcSide = 0; // side
378
379 fMucGlobal = 1; // nothing
380 fMucEast = 0; // shape of bakelite or chamber
381 fMucBarrel = 1; // gap
382 fMucWest = 0; // shape of bakelite or chamber
383 fMucStrips = 0; // strips
384
385 fFull3DMdc = 0;
386 fFull3DTof = 0;
387 fFull3DEmc = 0;
388 fFull3DMuc = 0;
389
390 fBeamPipe = 1; // circle
391 fZRPlaneOnXY = 0;
392 fAxis = 0;
393
394 // Long Peixun's update: add Cgem hits status
395 fCgemHitsGlobal = 1;
396 fCgemHitsXStrip = 1;
397 fCgemHitsVStrip = 1;
400
401 fMdcHitsGlobal = 1;
402 fMdcHits = 1;
403
404 fTofHitsGlobal = 1;
405 fTofHitsEast = 1;
406 fTofHitsBarrel = 1;
407 fTofHitsWest = 1;
408
409 fEmcHitsGlobal = 1;
410 fEmcHitsEast = 1;
411 fEmcHitsBarrel = 1;
412 fEmcHitsWest = 1;
413 fEmcHitsSide = 0;
414
415 fMucHitsGlobal = 1;
416 fMucHitsEast = 1;
417 fMucHitsBarrel = 1;
418 fMucHitsWest = 1;
419
420 fTracksGlobal = 1;
421 fTracksMdc = 1;
422 fTracksTof = 1;
423 fTracksEmc = 1;
424 fTracksMuc = 1;
425 fTracksExt = 1;
426
427 fFishEye = 0;
428 fPhiRangeMin = 90;
429 fPhiRangeMax = 120;
430 fZoom = 9.0;
431 }
432 else if ( type & kCgemUFView2 )
433 {
434 if ( gDebug ) cout << "BesStatus default CGEM UF2 called" << endl;
435
436 fCgemGlobal = 1;
437 fCgemLayers = 1;
438 fCgemXStrips = 0;
439 fCgemVStrips = 0;
440
441 fMdcGlobal = 1; // nothing
442 fMdcTubes = 0; // tubes
443 fMdcWires = 0; // wires
444
445 fTofGlobal = 1; // nothing
446 fTofEast = 0; // circle
447 fTofBarrel = 1; // circle
448 fTofWest = 0; // circle
449
450 fEmcGlobal = 1; // nothing
451 fEmcEast = 0; // east ec crystals
452 fEmcBarrel = 1; // 120 crystals
453 fEmcWest = 0; // west ec crystals
454 fEmcSide = 0; // side
455
456 fMucGlobal = 1; // nothing
457 fMucEast = 0; // shape of bakelite or chamber
458 fMucBarrel = 1; // gap
459 fMucWest = 0; // shape of bakelite or chamber
460 fMucStrips = 0; // strips
461
462 fFull3DMdc = 0;
463 fFull3DTof = 0;
464 fFull3DEmc = 0;
465 fFull3DMuc = 0;
466
467 fBeamPipe = 1; // circle
468 fZRPlaneOnXY = 0;
469 fAxis = 0;
470
471 // Long Peixun's update: add Cgem hits status
472 fCgemHitsGlobal = 1;
473 fCgemHitsXStrip = 1;
474 fCgemHitsVStrip = 1;
477
478 fMdcHitsGlobal = 1;
479 fMdcHits = 1;
480
481 fTofHitsGlobal = 1;
482 fTofHitsEast = 1;
483 fTofHitsBarrel = 1;
484 fTofHitsWest = 1;
485
486 fEmcHitsGlobal = 1;
487 fEmcHitsEast = 1;
488 fEmcHitsBarrel = 1;
489 fEmcHitsWest = 1;
490 fEmcHitsSide = 0;
491
492 fMucHitsGlobal = 1;
493 fMucHitsEast = 1;
494 fMucHitsBarrel = 1;
495 fMucHitsWest = 1;
496
497 fTracksGlobal = 1;
498 fTracksMdc = 1;
499 fTracksTof = 1;
500 fTracksEmc = 1;
501 fTracksMuc = 1;
502 fTracksExt = 1;
503
504 fFishEye = 0;
505 fPhiRangeMin = 90;
506 fPhiRangeMax = 120;
507 fZoom = 7.0;
508 }
509}
510
511//__________________________________________________________
512
513void BesStatus::Transfer( BesStatus* right, Bool_t set ) {
514 //
515 // transfer status informations from one status instance to
516 // another, from here, all components transfer functions are called
517 if ( gDebug ) cout << "BesStatus::Transfer(BesStatus *right) called" << endl;
518
519 this->TransferGeometryCgem( right, set ); // Long Peixun's update: for CGEM
520 this->TransferGeometryMdc( right, set );
521 this->TransferGeometryTof( right, set );
522 this->TransferGeometryEmc( right, set );
523 this->TransferGeometryMuc( right, set );
524 this->TransferGeometryFull3D( right, set );
525 this->TransferGeometryOtherParts( right, set );
526
527 this->TransferHitsCgem( right, set );
528 this->TransferHitsMdc( right, set );
529 this->TransferHitsTof( right, set );
530 this->TransferHitsEmc( right, set );
531 this->TransferHitsMuc( right, set );
532
533 this->TransferTracks( right, set );
534
535 this->TransferFishEye( right, set );
536 this->TransferPhiRange( right, set );
537 this->TransferZoom( right, set );
538}
539
540//__________________________________________________________
541// Long Peixun's update: for CGEM
542void BesStatus::TransferGeometryCgem( BesStatus* right, Bool_t set ) {
543 fCgemGlobal = right->fCgemGlobal;
544 fCgemLayers = right->fCgemLayers;
545 fCgemXStrips = right->fCgemXStrips;
546 fCgemVStrips = right->fCgemVStrips;
547}
548
549//__________________________________________________________
550
551void BesStatus::TransferGeometryMdc( BesStatus* right, Bool_t set ) {
552
553 fMdcGlobal = right->fMdcGlobal;
554 fMdcTubes = right->fMdcTubes;
555 fMdcWires = right->fMdcWires;
556}
557
558// ____________________________________________________________
559
560void BesStatus::TransferGeometryTof( BesStatus* right, Bool_t set ) {
561
562 fTofGlobal = right->fTofGlobal;
563 fTofEast = right->fTofEast;
564 fTofBarrel = right->fTofBarrel;
565 fTofWest = right->fTofWest;
566}
567
568//__________________________________________________________
569
570void BesStatus::TransferGeometryEmc( BesStatus* right, Bool_t set ) {
571
572 fEmcGlobal = right->fEmcGlobal;
573 fEmcEast = right->fEmcEast;
574 fEmcBarrel = right->fEmcBarrel;
575 fEmcWest = right->fEmcWest;
576 fEmcSide = right->fEmcSide;
577}
578
579// ____________________________________________________________
580
581void BesStatus::TransferGeometryMuc( BesStatus* right, Bool_t set ) {
582
583 fMucGlobal = right->fMucGlobal;
584 fMucEast = right->fMucEast;
585 fMucBarrel = right->fMucBarrel;
586 fMucWest = right->fMucWest;
587 fMucStrips = right->fMucStrips;
588}
589
590// ____________________________________________________________
591
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
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 // Long Peixun's update: Add CGEM flags;
704 unsigned int cMdc, cTof, cEmc, cMuc, cFull3D, cOther, cMdcHits, cCgem, cCgemHits;
705 unsigned int cTofHits, cEmcHits, cMucHits, cTracks;
706 Float_t cZoom;
707
708 is >> hex >> cMdc >> cTof >> cEmc >> cMuc >> cFull3D >> cOther >> cMdcHits >> cTofHits >>
709 cEmcHits >> cMucHits >> cTracks >> cZoom >> cCgem >>
710 cCgemHits; // Long Peixun's update: for CGEM
711
712 bs.fMdcGlobal = 1 & ( cMdc >> 2 );
713 bs.fMdcTubes = 1 & ( cMdc >> 1 );
714 bs.fMdcWires = 1 & cMdc;
715
716 bs.fTofGlobal = 1 & ( cTof >> 3 );
717 bs.fTofEast = 1 & ( cTof >> 2 );
718 bs.fTofBarrel = 1 & ( cTof >> 1 );
719 bs.fTofWest = 1 & cTof;
720
721 bs.fEmcGlobal = 1 & ( cEmc >> 4 );
722 bs.fEmcEast = 1 & ( cEmc >> 3 );
723 bs.fEmcBarrel = 1 & ( cEmc >> 2 );
724 bs.fEmcWest = 1 & ( cEmc >> 1 );
725 bs.fEmcSide = 1 & cEmc;
726
727 bs.fMucGlobal = 1 & ( cMuc >> 4 );
728 bs.fMucEast = 1 & ( cMuc >> 3 );
729 bs.fMucBarrel = 1 & ( cMuc >> 2 );
730 bs.fMucWest = 1 & ( cMuc >> 1 );
731 bs.fMucStrips = 1 & cMuc;
732
733 bs.fFull3DMdc = 1 & ( cFull3D >> 3 );
734 bs.fFull3DTof = 1 & ( cFull3D >> 2 );
735 bs.fFull3DEmc = 1 & ( cFull3D >> 1 );
736 bs.fFull3DMuc = 1 & cFull3D;
737
738 bs.fBeamPipe = 1 & ( cOther >> 2 );
739 bs.fZRPlaneOnXY = 1 & ( cOther >> 1 );
740 bs.fAxis = 1 & cOther;
741
742 bs.fMdcHitsGlobal = 1 & ( cMdcHits >> 1 );
743 bs.fMdcHits = 1 & cMdcHits;
744
745 bs.fTofHitsGlobal = 1 & ( cTofHits >> 3 );
746 bs.fTofHitsEast = 1 & ( cTofHits >> 2 );
747 bs.fTofHitsBarrel = 1 & ( cTofHits >> 1 );
748 bs.fTofHitsWest = 1 & cTofHits;
749
750 bs.fEmcHitsGlobal = 1 & ( cEmcHits >> 4 );
751 bs.fEmcHitsEast = 1 & ( cEmcHits >> 3 );
752 bs.fEmcHitsBarrel = 1 & ( cEmcHits >> 2 );
753 bs.fEmcHitsWest = 1 & ( cEmcHits >> 1 );
754 bs.fEmcHitsSide = 1 & cEmcHits;
755
756 bs.fMucHitsGlobal = 1 & ( cMucHits >> 3 );
757 bs.fMucHitsEast = 1 & ( cMucHits >> 2 );
758 bs.fMucHitsBarrel = 1 & ( cMucHits >> 1 );
759 bs.fMucHitsWest = 1 & cMucHits;
760
761 bs.fTracksGlobal = 1 & ( cTracks >> 5 );
762 bs.fTracksMdc = 1 & ( cTracks >> 4 );
763 bs.fTracksTof = 1 & ( cTracks >> 3 );
764 bs.fTracksEmc = 1 & ( cTracks >> 2 );
765 bs.fTracksMuc = 1 & ( cTracks >> 1 );
766 bs.fTracksExt = 1 & cTracks;
767 bs.fZoom = cZoom;
768
769 // Long Peixun's update: Read CGEM flags
770 // Long Peixun's update: Read CGEM flags
771 bs.fCgemGlobal = 1 & ( cCgem >> 3 );
772 bs.fCgemLayers = 1 & ( cCgem >> 2 );
773 bs.fCgemXStrips = 1 & ( cCgem >> 1 );
774 bs.fCgemVStrips = 1 & cCgem;
775 bs.fCgemHitsGlobal = 1 & ( cCgemHits >> 4 );
776 bs.fCgemHitsXStrip = 1 & ( cCgemHits >> 3 );
777 bs.fCgemHitsVStrip = 1 & ( cCgemHits >> 2 );
778 bs.fCgemHitsClusters = 1 & ( cCgemHits >> 1 );
779 bs.fCgemHitsFiredHL = 1 & cCgemHits;
780
781 return is;
782}
783
784ostream& operator<<( ostream& os, const BesStatus& bs ) {
785 return os << hex << " " << ( bs.fMdcGlobal << 2 ) + ( bs.fMdcTubes << 1 ) + bs.fMdcWires
786 << " "
787 << ( bs.fTofGlobal << 3 ) + ( bs.fTofEast << 2 ) + ( bs.fTofBarrel << 1 ) +
788 bs.fTofWest
789 << " "
790 << ( bs.fEmcGlobal << 4 ) + ( bs.fEmcEast << 3 ) + ( bs.fEmcBarrel << 2 ) +
791 ( bs.fEmcWest << 1 ) + bs.fEmcSide
792 << " "
793 << ( bs.fMucGlobal << 4 ) + ( bs.fMucEast << 3 ) + ( bs.fMucBarrel << 2 ) +
794 ( bs.fMucWest << 1 ) + bs.fMucStrips
795 << " "
796 << ( bs.fFull3DMdc << 3 ) + ( bs.fFull3DTof << 2 ) + ( bs.fFull3DEmc << 1 ) +
797 bs.fFull3DMuc
798 << " " << ( bs.fBeamPipe << 2 ) + ( bs.fZRPlaneOnXY << 1 ) + bs.fAxis << " "
799 << ( bs.fMdcHitsGlobal << 1 ) + bs.fMdcHits << " "
800 << ( bs.fTofHitsGlobal << 3 ) + ( bs.fTofHitsEast << 2 ) +
801 ( bs.fTofHitsBarrel << 1 ) + bs.fTofHitsWest
802 << " "
803 << ( bs.fEmcHitsGlobal << 4 ) + ( bs.fEmcHitsEast << 3 ) +
804 ( bs.fEmcHitsBarrel << 2 ) + ( bs.fEmcHitsWest << 1 ) + bs.fEmcHitsSide
805 << " "
806 << ( bs.fMucHitsGlobal << 3 ) + ( bs.fMucHitsEast << 2 ) +
807 ( bs.fMucHitsBarrel << 1 ) + bs.fMucHitsWest
808 << " "
809 << ( bs.fTracksGlobal << 5 ) + ( bs.fTracksMdc << 4 ) + ( bs.fTracksTof << 3 ) +
810 ( bs.fTracksEmc << 2 ) + ( bs.fTracksMuc << 1 ) + bs.fTracksExt
811 << " " << bs.fZoom
812 << " "
813 // Long Peixun's update: Write CGEM flags
814 << ( bs.fCgemGlobal << 3 ) + ( bs.fCgemLayers << 2 ) + ( bs.fCgemXStrips << 1 ) +
815 bs.fCgemVStrips
816 << " "
817 << ( bs.fCgemHitsGlobal << 4 ) + ( bs.fCgemHitsXStrip << 3 ) +
818 ( bs.fCgemHitsVStrip << 2 ) + ( bs.fCgemHitsClusters << 1 ) +
820}
ostream & operator<<(ostream &os, const BesStatus &bs)
ClassImp(BesStatus) BesStatus
Definition BesStatus.cxx:12
istream & operator>>(istream &is, BesStatus &bs)
Bool_t fTracksEmc
visibility flag for Tof Tracks
Bool_t fMucHitsEast
visibility flag for global Muc Hits
void TransferGeometryMdc(BesStatus *right, Bool_t set)
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 fMucGlobal
visivility flag for Emc side
Bool_t fTracksExt
visibility flag for Muc Tracks
Bool_t fCgemHitsGlobal
visibility flag for axis
void TransferPhiRange(BesStatus *right, Bool_t set)
void TransferHitsMdc(BesStatus *right, Bool_t set)
void TransferGeometryMuc(BesStatus *right, Bool_t set)
Bool_t fMucStrips
visivility flag for Muc west EC
Bool_t fFishEye
visibility flag for Ext Tracks
void TransferGeometryFull3D(BesStatus *right, Bool_t set)
void TransferHitsMuc(BesStatus *right, Bool_t set)
void TransferGeometryEmc(BesStatus *right, Bool_t set)
void TransferGeometryTof(BesStatus *right, Bool_t set)
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)
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)
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)
Bool_t fEmcWest
visivility flag for Emc barrel
Bool_t fTofWest
visibility flag for Tof barrel
Float_t fPhiRangeMin
flags for fish eye view
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)
Bool_t fBeamPipe
visivility flag for full 3D Muc
void TransferFishEye(BesStatus *right, Bool_t set)
void TransferGeometryCgem(BesStatus *right, Bool_t set)
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)
Bool_t fMucHitsGlobal
visibility flag for Emc Hits Side
virtual ~BesStatus()
Definition BesStatus.cxx:29
void TransferTracks(BesStatus *right, Bool_t set)
void Default(EBESViewType type)
Definition BesStatus.cxx:37
void TransferHitsEmc(BesStatus *right, Bool_t set)
Bool_t fTracksGlobal
visibility flag for Muc Hits West