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");
101 virtual void Process(
const std::vector<int> & coords);
103 void ExecuteBeginFunction();
104 void ExecuteEndFunction();
116 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.
json GetCfg() const
Get configuration JSON object.
bool IsPureCopy() const
Checks if the object is a pure copy.
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.
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.
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.