16#ifndef ROOT7_RHistConcurrentFill 
   17#define ROOT7_RHistConcurrentFill 
   25namespace Experimental {
 
   27template <
class HIST, 
int SIZE>
 
   28class RHistConcurrentFillManager;
 
   36template <
class HIST, 
int SIZE>
 
   50   void FillN(
const std::span<const CoordArray_t> xN, 
const std::span<const Weight_t> weightN)
 
   58   static constexpr int GetNDim() { 
return HIST::GetNDim(); }
 
   76template <
class HIST, 
int SIZE = 1024>
 
   95   void FillN(
const std::span<const CoordArray_t> xN, 
const std::span<const Weight_t> weightN)
 
   97      std::lock_guard<std::mutex> lockGuard(
fFillMutex);
 
   98      fHist.FillN(xN, weightN);
 
  102   void FillN(
const std::span<const CoordArray_t> xN)
 
  104      std::lock_guard<std::mutex> lockGuard(
fFillMutex);
 
std::span< const Weight_t > GetWeights() const
 
void Fill(const CoordArray_t &x, Weight_t weight=1.)
 
std::span< const CoordArray_t > GetCoords() const
 
typename HIST::CoordArray_t CoordArray_t
 
void FillN(const std::span< const CoordArray_t > xN, const std::span< const Weight_t > weightN)
Thread-specific HIST::FillN().
 
RHistConcurrentFillManager(HIST &hist)
 
typename HIST::Weight_t Weight_t
 
void FillN(const std::span< const CoordArray_t > xN)
Thread-specific HIST::FillN().
 
RHistConcurrentFiller< HIST, SIZE > MakeFiller()
 
Buffers a thread's Fill calls and submits them to the RHistConcurrentFillManager.
 
void FillN(const std::span< const CoordArray_t > xN, const std::span< const Weight_t > weightN)
Thread-specific HIST::FillN().
 
static constexpr int GetNDim()
 
void FillN(const std::span< const CoordArray_t > xN)
Thread-specific HIST::FillN().
 
typename HIST::CoordArray_t CoordArray_t
 
RHistConcurrentFiller(RHistConcurrentFillManager< HIST, SIZE > &manager)
 
RHistConcurrentFillManager< HIST, SIZE > & fManager
 
typename HIST::Weight_t Weight_t
 
RCoordArray< DIMENSIONS > CoordArray_t