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