1 #ifndef Ndmspc_NHnSparseThreadData_H
2 #define Ndmspc_NHnSparseThreadData_H
6 #include "NThreadData.h"
42 bool Init(
size_t id, NGnProcessFuncPtr func, NGnBeginFuncPtr beginFunc, NGnEndFuncPtr endFunc,
NGnTree * ngnt,
43 NBinning * binningIn,
NGnTree * input =
nullptr,
const std::string & filename =
"",
44 const std::string & treename =
"ngnt");
122 virtual void Process(
const std::vector<int> & coords);
124 void SetCurrentDefinitionName(
const std::string & name);
125 void SyncCurrentDefinitionIds(
const std::vector<Long64_t> & ids);
127 void ExecuteBeginFunction();
128 void ExecuteEndFunction();
140 virtual Long64_t
Merge(TCollection * list);
NBinning object for managing multi-dimensional binning and axis definitions.
Thread-local data object for NDMSPC processing.
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).
NGnTree * GetHnSparseBase() const
Get pointer to base NGnTree object.
void SetProcessFunc(NGnProcessFuncPtr func)
Set the processing function pointer.
NBinning * fBiningSource
Pointer to the source binning (from the original NGnTree)
virtual void Process(const std::vector< int > &coords)
Process coordinates (virtual).
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).
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.
const std::string & GetResultsFilename() const
Get the results filename for TCP mode.
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.
Thread-local data object for NDMSPC processing.