]>
Commit | Line | Data |
---|---|---|
0145e89a | 1 | #ifndef ALIMUONATTPAINTER_H |
2 | #define ALIMUONATTPAINTER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup graphics | |
10 | /// \class AliMUONAttPainter | |
11 | /// \brief Basic attributes shared by all painters | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ROOT_TObject | |
16 | # include "TObject.h" | |
17 | #endif | |
18 | #ifndef ROOT_TString | |
19 | # include "TString.h" | |
20 | #endif | |
21 | ||
22 | class AliMUONAttPainter : public TObject | |
23 | { | |
24 | public: | |
25 | ||
26 | enum EBits { | |
27 | kIsCathode0 = BIT(14), | |
28 | kIsCathode1 = BIT(15), | |
29 | kIsBendingPlane = BIT(16), | |
30 | kIsNonBendingPlane = BIT(17), | |
31 | kIsFrontView = BIT(18), | |
32 | kIsBackView = BIT(19), | |
33 | kIsCathodeAndPlaneMutuallyExclusive = BIT(20), | |
34 | kIsValid = BIT(21), | |
35 | kIsSinglePainter = BIT(22), | |
36 | kIsCathodeAndPlaneDisabled = BIT(23) | |
37 | }; | |
38 | ||
39 | AliMUONAttPainter(); | |
40 | virtual ~AliMUONAttPainter(); | |
41 | ||
42 | /// Return our name | |
43 | virtual const char* GetName() const { return Name(); } | |
44 | ||
45 | TString Name() const; | |
46 | ||
47 | TString CathodeName() const; | |
48 | ||
49 | TString ViewPointName() const; | |
50 | ||
51 | TString PlaneName() const; | |
52 | ||
53 | /// Whether cathode & plane are disabled | |
54 | Bool_t IsCathodeAndPlaneDisabled() const { return TestBit(kIsCathodeAndPlaneDisabled); } | |
55 | ||
56 | /// Whether we are representing bending plane | |
57 | Bool_t IsBendingPlane() const { return TestBit(kIsBendingPlane); } | |
58 | ||
59 | /// Whether we are representing cathode 0 | |
60 | Bool_t IsCathode0() const { return TestBit(kIsCathode0); } | |
61 | ||
62 | /// Whether we are representing cathode 1 | |
63 | Bool_t IsCathode1() const { return TestBit(kIsCathode1); } | |
64 | ||
65 | /// Whether we can select both cathode and plane | |
66 | Bool_t IsCathodeAndPlaneMutuallyExclusive() const { return TestBit(kIsCathodeAndPlaneMutuallyExclusive); } | |
67 | ||
68 | /// Whether we are defined by cathode | |
69 | Bool_t IsCathodeDefined() const { return IsCathode0() || IsCathode1(); } | |
70 | ||
71 | /// Whether we are representing non bending plane | |
72 | Bool_t IsNonBendingPlane() const { return TestBit(kIsNonBendingPlane); } | |
73 | ||
74 | /// Whether we are defined by plane | |
75 | Bool_t IsPlaneDefined() const { return IsBendingPlane() || IsNonBendingPlane(); } | |
76 | ||
77 | /// Whether we are valid | |
78 | Bool_t IsValid() const { return TestBit(kIsValid); } | |
79 | ||
80 | /// Set our cathode states | |
81 | void SetCathode(Bool_t cath0, Bool_t cath1) { SetBit(kIsCathode0,cath0); SetBit(kIsCathode1,cath1); } | |
82 | ||
83 | /// Set our plane states | |
84 | void SetPlane(Bool_t bending, Bool_t nonBending) { SetBit(kIsBendingPlane,bending); SetBit(kIsNonBendingPlane,nonBending); } | |
85 | ||
86 | /// Set single status | |
87 | void SetSingle(Bool_t value) { SetBit(kIsSinglePainter,value); } | |
88 | ||
89 | /// Whether the painter is to be represented from front (as seen from IP) | |
90 | Bool_t IsFrontView() const { return TestBit(kIsFrontView); } | |
91 | ||
92 | /// Whether the painter is to be represented from back (as seen from IP) | |
93 | Bool_t IsBackView() const { return TestBit(kIsBackView); } | |
94 | ||
95 | /// Set view point | |
96 | void SetViewPoint(Bool_t front, Bool_t back) { SetBit(kIsFrontView,front); SetBit(kIsBackView,back); } | |
97 | ||
98 | /// Set mutually exclusive flag | |
99 | void SetCathodeAndPlaneMutuallyExclusive(Bool_t value) { SetBit(kIsCathodeAndPlaneMutuallyExclusive,value); } | |
100 | ||
101 | /// Set valid flag | |
102 | void SetValid(Bool_t value) { SetBit(kIsValid,value); } | |
103 | ||
104 | /// Whether we represent attributes of a single painter (if false, means it's a painter group) | |
105 | Bool_t IsSinglePainter() const { return TestBit(kIsSinglePainter); } | |
106 | ||
107 | /// Set cathode & plane disable flag | |
108 | void SetCathodeAndPlaneDisabled(Bool_t value) { SetBit(kIsCathodeAndPlaneDisabled,value); } | |
109 | ||
110 | void Print(Option_t* opt="") const; | |
111 | ||
112 | ClassDef(AliMUONAttPainter,1) // Basic attributes of painters | |
113 | }; | |
114 | ||
115 | #endif |