1 #ifndef DD4hep_XHistogram_h 2 #define DD4hep_XHistogram_h 17 typedef std::pair<double, double>
Range;
48 size_t size,
size_t bins_x,
size_t bins_y,
Range x,
Range y,
size_t zones,
const std::vector<double>&
max)
68 Histogram(
nullptr,
nullptr, 0, 0., 0., 0, 0., 0.);
72 void fill(
double x,
double y,
const std::vector<double>&
weight,
double norm);
75 void fill(
double x,
double y,
const std::vector<double>&
weight,
double norm,
unsigned int colour);
81 void fill(
const Range&
x,
const Range&
y,
const std::vector<double>&
weight,
double norm,
unsigned int colour);
112 position(
const double& f_,
const double& x_,
const double& y_) :
f(f_),
x(x_),
y(y_) {}
124 throw std::invalid_argument(
"weight: wrong number of elements");
128 #endif // DD4hep_XHistogram_h
DD4hep_XHistogram(void)
default CTOR
Histogram * normalization(void) const
access the normalization
std::vector< position > splitSegment(Range x, Range y) const
split a segment into a vector of points
void check_weight(const std::vector< double > &weight) noexcept(false)
check the weights passed as an std::vector have the correct size
std::vector< std::shared_ptr< Histogram > > m_histograms
std::shared_ptr< Histogram > m_dummy
std::pair< double, double > Range
void fill(double x, double y, const std::vector< double > &weight, double norm)
fill one point
ColorMap * colormap(void) const
access the colormap
std::shared_ptr< Histogram > m_normalization
position(const double &f_, const double &x_, const double &y_)
DD4hep_XHistogram(size_t size, size_t bins_x, size_t bins_y, Range x, Range y, size_t zones, const std::vector< double > &max)
std::shared_ptr< ColorMap > m_colormap
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
bool operator<(const position &other) const
void normalize(void)
normalize the histograms