1#ifndef Ndmspc_NHnSparseThreadData_H
2#define Ndmspc_NHnSparseThreadData_H
6#include "NThreadData.h"
7#include <unordered_set>
44 NBinning * binningIn,
NGnTree * input =
nullptr,
const std::string & filename =
"",
45 const std::string & treename =
"ngnt");
123 virtual void Process(
const std::vector<int> & coords);
125 void SetCurrentDefinitionName(
const std::string & name);
126 void SyncCurrentDefinitionIds(
const std::vector<Long64_t> & ids);
128 void ExecuteBeginFunction();
129 void ExecuteEndFunction();
141 virtual Long64_t
Merge(TCollection * list);
NBinning object for managing multi-dimensional binning and axis definitions.
void SetIsPureCopy(bool val)
Sets the pure copy status of the object.
NGnEndFuncPtr fEndFunc
Function pointer to the end function.
NGnBeginFuncPtr fBeginFunc
Function pointer to the begin function.
void SetNProcessed(Long64_t n)
Set number of processed entries.
json GetCfg() const
Get configuration JSON object.
bool IsPureCopy() const
Checks if the object is a pure copy.
std::string fResultsFilename
Shared-FS path to copy result to after Close(true) (TCP mode)
bool Init(size_t id, NGnProcessFuncPtr func, NGnBeginFuncPtr beginFunc, NGnEndFuncPtr endFunc, NGnTree *ngnt, NBinning *binningIn, NGnTree *input=nullptr, const std::string &filename="", const std::string &treename="ngnt")
Initialize thread data for processing.
NGnThreadData()
Constructor.
void SetResultsFilename(const std::string &filename)
Set the results filename for TCP mode (shared filesystem path).
void SetProcessFunc(NGnProcessFuncPtr func)
Set the processing function pointer.
NBinning * fBiningSource
Pointer to the source binning (from the original NGnTree)
std::unordered_set< Long64_t > fProcessedBinIds
Set of already-processed global bin IDs (duplicate guard)
virtual void Process(const std::vector< int > &coords)
Process coordinates (virtual).
const std::string & GetResultsFilename() const
Get the results filename for TCP mode.
Long64_t GetNProcessed() const
Get number of processed entries.
bool InitStorage(NStorageTree *ts, const std::string &filename="", const std::string &treename="ngnt")
Initialize storage tree for thread data.
virtual Long64_t Merge(TCollection *list)
Merge thread data from a collection (virtual).
NGnTree * GetHnSparseBase() const
Get pointer to base NGnTree object.
virtual ~NGnThreadData()
Destructor.
json fCfg
Configuration object.
void FlushDeferredDeletes()
Delete deferred ROOT objects, skipping TCanvas/TPad (leaked safely).
void SetCfg(const json &cfg)
Set configuration JSON object.
std::vector< TObject * > fDeferredDeletes
Objects deferred for single-threaded deletion.
NGnTree * fHnSparseBase
Pointer to the base class.
Long64_t fNProcessed
Number of processed entries.
bool fIsPureCopy
Flag indicating pure copy mode.
NGnProcessFuncPtr fProcessFunc
Function pointer to the processing function.
NDMSPC tree object for managing multi-dimensional data storage and processing.
NDMSPC storage tree object for managing ROOT TTree-based data storage.
NThreadData()
Default constructor.
Global callback function for libwebsockets client events.
void(*)(Ndmspc::NBinningPoint *, TList *, TList *, int) NGnProcessFuncPtr
Function pointer type for processing binning points and lists.
void(*)(Ndmspc::NBinningPoint *, int) NGnEndFuncPtr
Function pointer type for termination functions used in NGnTree.
void(*)(Ndmspc::NBinningPoint *, int) NGnBeginFuncPtr
Function pointer type for the beginning of a tree operation.