42double REveUtil::ServerTimeMs()
44 using clock = std::chrono::steady_clock;
45 static const clock::time_point origin = clock::now();
46 return std::chrono::duration<double, std::milli>(clock::now() - origin).count();
66void ChompTailAndDir(
TString& s,
char c=
'.')
89 TString foo(mac); ChompTailAndDir(foo);
93 return (
gROOT->GetGlobalFunction(foo.
Data(),
nullptr,
kTRUE) !=
nullptr);
112 gROOT->LoadMacro(mac);
114 TString foo(mac); ChompTailAndDir(foo); foo +=
"()";
124 gROOT->LoadMacro(mac);
133 static const std::regex bad_re(
"[^\\w](?:gSystem|gROOT)[^\\w]", std::regex::optimize);
134 static const std::regex public_extra_re(
"(?:\\|\")", std::regex::optimize);
136 auto beg = expr.cbegin(), end = expr.cend();
137 if (std::regex_search(beg, end, bad_re))
140 const bool is_public =
true;
141 if (is_public && std::regex_search(beg, end, public_extra_re))
157 col[0] = (
UChar_t)(255*
c->GetRed());
158 col[1] = (
UChar_t)(255*
c->GetGreen());
159 col[2] = (
UChar_t)(255*
c->GetBlue());
160 if (alpha) col[3] = 255;
165 col[0] = 255; col[1] = 0; col[2] = 255;
166 if (alpha) col[3] = 255;
177 UChar_t alpha = (255*(100 - transparency))/100;
182 col[0] = (
UChar_t)(255*
c->GetRed());
183 col[1] = (
UChar_t)(255*
c->GetGreen());
184 col[2] = (
UChar_t)(255*
c->GetBlue());
190 col[0] = 255; col[1] = 0; col[2] = 255; col[3] = alpha;
209 if (alpha) col[3] = 255;
227 throw(eh +
"could not find member '" + varname +
"' in class " + obj->
IsA()->
GetName() +
".");
228 return (
Color_t*) (((
char*)obj) + off);
242 if (value < -2.5 || value > 2.5)
244 Error(
"REveUtil::SetColorBrightness",
"value '%f' out of range [-0.5, 0.5].",
value);
254 for (
Int_t i = 0; i < n_col; ++i)
263 for (
Int_t i = 0; i < n_col; ++i)
271 croot =
new TColor(*cdef);
272 colors->
AddAt(croot, i);
309 using namespace TMath;
313 minQ += TwoPi(); maxQ += TwoPi();
315 else if (minQ > maxM)
317 minQ -= TwoPi(); maxQ -= TwoPi();
319 return minQ >= minM && maxQ <= maxM;
330 using namespace TMath;
334 minQ += TwoPi(); maxQ += TwoPi();
336 else if (minQ > maxM)
338 minQ -= TwoPi(); maxQ -= TwoPi();
340 return maxQ >= minM && minQ <= maxM;
348 if (minQ>=minM && maxQ<=maxM)
351 else if (minQ<minM && maxQ>maxM)
352 return (maxM-minM)/(maxQ-minQ);
354 else if (minQ>=minM && maxQ>maxM)
355 return (maxM-minQ)/(maxQ-minQ);
357 else if (minQ<minM && maxQ<=maxM)
358 return (maxQ-minM)/(maxQ-minQ);
444 if (--(i->second) <= 0)
448 Warning(
"REveRefBackPtr::DecRefCount",
"element '%s' not found in back-refs.", re->GetCName());
458 i.first->AddStamp(stamps);
short Color_t
Color number (short)
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char)
char Char_t
Character 1 byte (char)
constexpr Ssiz_t kNPOS
The equivalent of std::string::npos for the ROOT class TString.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
R__EXTERN TGeoManager * gGeoManager
R__EXTERN TGeoIdentity * gGeoIdentity
REveException Exception-type thrown by Eve classes.
~REveGeoManagerHolder()
Destructor.
Int_t fNSegments
! previous settings for num segments
TGeoManager * fManager
! hold manager
REveGeoManagerHolder(TGeoManager *new_gmgr=nullptr, Int_t n_seg=0)
Constructor.
void FullRedraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
Perform 3D redraw of all scenes and viewers.
~REveRefBackPtr() override
Destructor. Noop, should complain if back-ref list is not empty.
virtual void StampBackPtrElements(UChar_t stamps)
Add given stamps to elements in the list of reverse references.
static Bool_t IsU1IntervalOverlappingByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is overlapping within interval M for U1 variables.
static void LoadMacro(const char *mac)
Makes sure that macro 'mac' is loaded, but do not reload it.
static void Macro(const char *mac)
Execute macro 'mac'. Do not reload the macro.
static Bool_t CheckMacro(const char *mac)
Checks if macro 'mac' is loaded.
static Float_t GetFraction(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Get fraction of interval [minQ, maxQ] in [minM, maxM].
static void SetColorBrightness(Float_t value, Bool_t full_redraw=kFALSE)
Tweak all ROOT colors to become brighter (if value > 0) or darker (value < 0).
static Bool_t IsU1IntervalContainedByMinMax(Float_t minM, Float_t maxM, Float_t minQ, Float_t maxQ)
Return true if interval Q is contained within interval M for U1 variables.
static void ColorFromIdx(Color_t ci, UChar_t col[4], Bool_t alpha=kTRUE)
Fill col with RGBA values corresponding to index ci.
static Color_t * FindColorVar(TObject *obj, const char *varname)
Find address of Color_t data-member with name varname in object obj.
static void AssertMacro(const char *mac)
Load and execute macro 'mac' if it has not been loaded yet.
static bool VerifyObjectFilterOrTableExpression(std::string_view expr)
Input string verification and sanitization.
static TObjArray * fgDefaultColors
Longptr_t GetDataMemberOffset(const char *membername) const
return offset for member name.
The color creation and management class.
virtual void SetRGB(Float_t r, Float_t g, Float_t b)
Initialize this color and its "dark" and "bright" associated colors.
virtual void GetRGB(Float_t &r, Float_t &g, Float_t &b) const
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
void Copy(TObject &color) const override
Copy this color to obj.
An identity transformation.
The manager class for any TGeo geometry.
TObjArray * GetListOfMatrices() const
void SetNsegments(Int_t nseg)
Set number of segments for approximating circles in drawing.
Int_t GetNsegments() const
Get number of segments approximating circles.
const char * GetName() const override
Returns name of object.
Int_t GetEntriesFast() const
void AddAt(TObject *obj, Int_t idx) override
Add object at position ids.
TObject * At(Int_t idx) const override
TObject * RemoveAt(Int_t idx) override
Remove object at index idx.
Mother of all ROOT objects.
virtual TClass * IsA() const
const char * Data() const
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TString & Remove(Ssiz_t pos)
Namespace for ROOT features in testing.
R__EXTERN REveManager * gEve
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.