1 #ifndef Ndmspc_NBinningDef_H
2 #define Ndmspc_NBinningDef_H
34 NBinningDef(std::string name =
"default", std::map<std::string, std::vector<std::vector<int>>> definition = {},
46 virtual void Print(Option_t * option =
"")
const;
106 Long64_t
GetId(
size_t index)
const;
Defines binning mapping and content for NDMSPC histograms.
std::vector< int > fVariableAxes
List of variable axes indices in the content histogram.
THnSparse * GetContent() const
Get the template content histogram.
void SetAxisDefinition(std::string axisName, const std::vector< std::vector< int >> &d)
Set axis definition for a specific axis.
std::vector< Long64_t > & GetIds()
Get reference to list of bin IDs.
std::map< std::string, std::vector< std::vector< int > > > GetDefinition() const
Get the binning mapping definition.
std::vector< int > GetVariableAxes() const
Get list of variable axes indices.
NBinning * fBinning
Pointer to the parent binning.
void SetDefinition(const std::map< std::string, std::vector< std::vector< int >>> &d)
Set the binning mapping definition.
virtual void Print(Option_t *option="") const
Print binning definition information.
virtual ~NBinningDef()
Destructor.
std::string fName
Name of the binning definition.
NBinning * GetBinning() const
Get pointer to parent NBinning object.
void AddVariableAxis(size_t axis)
Add a variable axis index.
void RefreshIdsFromContent()
Refresh bin IDs from content histogram.
std::vector< Long64_t > fIds
List of IDs for the binning definition.
TObjArray * GetAxes() const
Get list of axes from content histogram.
std::map< std::string, std::vector< std::vector< int > > > fDefinition
Binning mapping definition.
Long64_t GetId(size_t index) const
Get bin ID at specified index.
void RefreshContentFromIds()
Refresh content histogram from bin IDs.
std::vector< Long64_t > GetIds() const
Get list of bin IDs.
NBinningDef(std::string name="default", std::map< std::string, std::vector< std::vector< int >>> definition={}, NBinning *binning=nullptr)
Constructor.
THnSparse * fContent
Template histogram for the binning definition.
NBinning object for managing multi-dimensional binning and axis definitions.