1 #ifndef DQMServices_Core_ConcurrentMonitorElement_h 2 #define DQMServices_Core_ConcurrentMonitorElement_h 10 #include <tbb/spin_mutex.h> 35 std::lock_guard<tbb::spin_mutex> guard(
other.lock_);
48 std::lock_guard<tbb::spin_mutex> ours(lock_, std::adopt_lock);
49 std::lock_guard<tbb::spin_mutex> others(
other.lock_, std::adopt_lock);
59 template <
typename... Args>
62 std::lock_guard<tbb::spin_mutex> guard(lock_);
63 me_->
Fill(std::forward<Args>(
args)...);
69 std::lock_guard<tbb::spin_mutex> guard(lock_);
76 std::lock_guard<tbb::spin_mutex> guard(lock_);
82 std::lock_guard<tbb::spin_mutex> guard(lock_);
83 return (me_ !=
nullptr);
96 me_->
getTH1()->SetXTitle(title.c_str());
101 me_->
getTH1()->SetXTitle(title);
106 me_->
getTH1()->SetYTitle(title.c_str());
111 me_->
getTH1()->SetYTitle(title);
146 me_->
getTH1()->GetXaxis()->SetNoAlphanumeric(
false);
147 me_->
getTH1()->GetYaxis()->SetNoAlphanumeric(
false);
151 me_->
getTH1()->SetOption(option);
155 #endif // DQMServices_Core_ConcurrentMonitorElement_h
ConcurrentMonitorElement(ConcurrentMonitorElement &&other)
void shiftFillLast(double y, double ye=0., int32_t xscale=1) const
void setYTitle(std::string const &title)
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
void setAxisTimeFormat(const char *format="", int axis=1)
set the format of the time values that are displayed on an axis
void setAxisTimeDisplay(int value, int axis=1)
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
ConcurrentMonitorElement & operator=(ConcurrentMonitorElement &&other)
void setOption(const char *option)
void disableAlphanumeric()
void ShiftFillLast(double y, double ye=0., int32_t xscale=1)
void setAxisTimeDisplay(int value, int axis=1)
set x-, y-, or z-axis to display time values
void setTitle(std::string const &title)
ConcurrentMonitorElement(MonitorElement *me)
void setYTitle(const char *title)
bin
set the eta bin as selection string.
void setTitle(const std::string &title)
set (ie. change) histogram/profile title
~ConcurrentMonitorElement(void)=default
void setAxisTitle(std::string const &title, int axis=1)
void setBinLabel(int bin, std::string const &label, int axis=1)
void setAxisRange(double xmin, double xmax, int axis=1)
void fill(Args &&...args) const
ConcurrentMonitorElement(void)
void setAxisTimeFormat(const char *format="", int axis=1)
ConcurrentMonitorElement & operator=(ConcurrentMonitorElement const &)=delete
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setXTitle(const char *title)
void setXTitle(std::string const &title)