38 static TObjArray* fgDefaultColors;
41 virtual ~TEveUtil() {}
45 static void SetupEnvironment();
46 static void SetupGUI();
48 static Bool_t CheckMacro(
const char* mac);
49 static void AssertMacro(
const char* mac);
50 static void Macro(
const char* mac);
51 static void LoadMacro(
const char* mac);
55 static void ColorFromIdx(Color_t ci, UChar_t col[4], Bool_t alpha=kTRUE);
56 static void ColorFromIdx(Color_t ci, UChar_t col[4], Char_t transparency);
57 static void ColorFromIdx(Float_t f1, Color_t c1, Float_t f2, Color_t c2,
58 UChar_t col[4], Bool_t alpha=kTRUE);
59 static Color_t* FindColorVar(TObject* obj,
const char* varname);
61 static void SetColorBrightness(Float_t value, Bool_t full_redraw=kFALSE);
66 static Bool_t IsU1IntervalContainedByMinMax (Float_t minM, Float_t maxM,
67 Float_t minQ, Float_t maxQ);
68 static Bool_t IsU1IntervalOverlappingByMinMax(Float_t minM, Float_t maxM,
69 Float_t minQ, Float_t maxQ);
71 static Bool_t IsU1IntervalContainedByMeanDelta (Float_t meanM, Float_t deltaM,
72 Float_t meanQ, Float_t deltaQ);
73 static Bool_t IsU1IntervalOverlappingByMeanDelta(Float_t meanM, Float_t deltaM,
74 Float_t meanQ, Float_t deltaQ);
76 static Float_t GetFraction(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ);
79 ClassDef(TEveUtil, 0);
82 inline Bool_t TEveUtil::IsU1IntervalContainedByMeanDelta(Float_t meanM, Float_t deltaM,
83 Float_t meanQ, Float_t deltaQ)
85 return IsU1IntervalContainedByMinMax(meanM - deltaM, meanM + deltaM, meanQ - deltaQ, meanQ + deltaQ);
88 inline Bool_t TEveUtil::IsU1IntervalOverlappingByMeanDelta(Float_t meanM, Float_t deltaM,
89 Float_t meanQ, Float_t deltaQ)
91 return IsU1IntervalContainedByMinMax(meanM - deltaM, meanM + deltaM, meanQ - deltaQ, meanQ + deltaQ);
99 bool operator==(
const TString& t,
const std::string& s);
100 bool operator==(
const std::string& s,
const TString& t);
102 class TEveException :
public std::exception,
public TString
106 TEveException(
const TString& s) : TString(s) {}
107 TEveException(
const char* s) : TString(s) {}
108 TEveException(
const std::string& s);
110 virtual ~TEveException() noexcept {}
112 virtual const char* what() const noexcept {
return Data(); }
114 ClassDef(TEveException, 1);
117 TEveException operator+(
const TEveException &s1,
const std::string &s2);
118 TEveException operator+(
const TEveException &s1,
const TString &s2);
119 TEveException operator+(
const TEveException &s1,
const char *s2);
129 TVirtualPad *fOldPad;
130 Bool_t fModifyUpdateP;
132 TEvePadHolder(
const TEvePadHolder&);
133 TEvePadHolder& operator=(
const TEvePadHolder&);
136 TEvePadHolder(Bool_t modify_update_p, TVirtualPad* new_pad=0, Int_t subpad=0);
137 virtual ~TEvePadHolder();
139 ClassDef(TEvePadHolder, 0);
142 class TEveGeoManagerHolder
145 TGeoManager *fManager;
148 TEveGeoManagerHolder(
const TEveGeoManagerHolder&);
149 TEveGeoManagerHolder& operator=(
const TEveGeoManagerHolder&);
152 TEveGeoManagerHolder(TGeoManager* new_gmgr=0, Int_t n_seg=0);
153 virtual ~TEveGeoManagerHolder();
155 ClassDef(TEveGeoManagerHolder, 0);
169 TEveRefCnt() : fRefCount(0) {}
170 virtual ~TEveRefCnt() {}
172 TEveRefCnt(
const TEveRefCnt&) : fRefCount(0) {}
173 TEveRefCnt& operator=(
const TEveRefCnt&) {
return *
this; }
175 void IncRefCount() { ++fRefCount; }
176 void DecRefCount() {
if(--fRefCount <= 0) OnZeroRefCount(); }
178 virtual void OnZeroRefCount() {
delete this; }
180 ClassDef(TEveRefCnt, 0);
187 class TEveRefBackPtr :
public TEveRefCnt
190 typedef std::map<TEveElement*, Int_t> RefMap_t;
191 typedef RefMap_t::iterator RefMap_i;
197 virtual ~TEveRefBackPtr();
199 TEveRefBackPtr(
const TEveRefBackPtr&);
200 TEveRefBackPtr& operator=(
const TEveRefBackPtr&);
202 using TEveRefCnt::IncRefCount;
203 using TEveRefCnt::DecRefCount;
204 virtual void IncRefCount(TEveElement* re);
205 virtual void DecRefCount(TEveElement* re);
207 virtual void StampBackPtrElements(UChar_t stamps);
209 ClassDef(TEveRefBackPtr, 0);