ndmspc  v1.2.0-0.1.rc3
Ndmspc::NTreeBranch Class Reference

NDMSPC tree branch object for managing ROOT TBranch and associated data. More...

#include <NTreeBranch.h>

Inheritance diagram for Ndmspc::NTreeBranch:

Public Member Functions

 NTreeBranch (TTree *tree=nullptr, const std::string &name="", void *address=nullptr, const std::string &objClassName="TObject")
 Constructor. More...
 
virtual ~NTreeBranch ()
 Destructor. More...
 
virtual void Print (Option_t *option="") const
 Print branch information. More...
 
void SetName (const std::string &name)
 Set branch name. More...
 
void SetObjectClassName (const std::string &objClassName)
 Set object class name. More...
 
void SetBranch (TBranch *branch)
 Set branch pointer. More...
 
void SetObject (TObject *obj)
 Set object pointer. More...
 
TBranch * GetBranch ()
 Get branch pointer. More...
 
int GetBranchStatus () const
 Get branch status. More...
 
TObject * GetObject () const
 Get object pointer. More...
 
std::string GetObjectClassName () const
 Get object class name. More...
 
TBranch * Branch (TTree *tree, void *address)
 Create branch in TTree with given address. More...
 
void SetAddress (void *address, bool deleteExisting=false)
 Set address for branch data. More...
 
void SetBranchAddress (TTree *tree)
 Set branch address in TTree. More...
 
void SetBranchStatus (int status)
 Set branch status. More...
 
Long64_t GetEntry (TTree *tree, Long64_t entry)
 Get entry from TTree. More...
 
void SaveEntry (NTreeBranch *hnstIn, bool useProjection=false, const std::string projOpt="OE")
 Save entry to another NTreeBranch. More...
 

Private Attributes

std::string fName {""}
 Branch name.
 
int fBranchStatus {1}
 Branch status.
 
TBranch * fBranch {nullptr}
 ! Branch pointer
 
TObject * fObject {nullptr}
 ! Object pointer
 
std::string fObjectClassName {"TObject"}
 Object class name.
 

Detailed Description

NDMSPC tree branch object for managing ROOT TBranch and associated data.

Provides methods for branch creation, address management, status, entry access, and object handling. Supports integration with TTree, TObject, and custom class names.

Author
Martin Vala mvala.nosp@m.@cer.nosp@m.n.ch

Definition at line 18 of file NTreeBranch.h.

Constructor & Destructor Documentation

◆ NTreeBranch()

Ndmspc::NTreeBranch::NTreeBranch ( TTree *  tree = nullptr,
const std::string &  name = "",
void *  address = nullptr,
const std::string &  objClassName = "TObject" 
)

Constructor.

Parameters
treePointer to TTree (optional).
nameBranch name (optional).
addressPointer to branch data (optional).
objClassNameObject class name (default: "TObject").

Constructor

Definition at line 21 of file NTreeBranch.cxx.

References Branch().

◆ ~NTreeBranch()

Ndmspc::NTreeBranch::~NTreeBranch ( )
virtual

Destructor.

Destructor

Definition at line 32 of file NTreeBranch.cxx.

Member Function Documentation

◆ Branch()

TBranch * Ndmspc::NTreeBranch::Branch ( TTree *  tree,
void *  address 
)

Create branch in TTree with given address.

Parameters
treePointer to TTree.
addressPointer to branch data.
Returns
Pointer to created TBranch.

Setting up branch

Definition at line 40 of file NTreeBranch.cxx.

References fBranch, fName, and fObjectClassName.

Referenced by NTreeBranch().

◆ GetBranch()

TBranch* Ndmspc::NTreeBranch::GetBranch ( )
inline

Get branch pointer.

Returns
Pointer to TBranch.

Definition at line 69 of file NTreeBranch.h.

References fBranch.

◆ GetBranchStatus()

int Ndmspc::NTreeBranch::GetBranchStatus ( ) const
inline

Get branch status.

Returns
Branch status integer.

Definition at line 75 of file NTreeBranch.h.

References fBranchStatus.

Referenced by Ndmspc::NGnNavigator::Reshape().

◆ GetEntry()

Long64_t Ndmspc::NTreeBranch::GetEntry ( TTree *  tree,
Long64_t  entry 
)

Get entry from TTree.

Parameters
treePointer to TTree.
entryEntry index.
Returns
Entry value.

Get entry

Definition at line 102 of file NTreeBranch.cxx.

References fBranch, fName, fObject, and Ndmspc::NUtils::SafeDeleteTList().

◆ GetObject()

TObject* Ndmspc::NTreeBranch::GetObject ( ) const
inline

Get object pointer.

Returns
Pointer to TObject.

Definition at line 81 of file NTreeBranch.h.

References fObject.

Referenced by Ndmspc::NStorageTree::Fill(), Ndmspc::NGnTree::GetEntry(), Ndmspc::NGnTree::Play(), and SaveEntry().

◆ GetObjectClassName()

std::string Ndmspc::NTreeBranch::GetObjectClassName ( ) const
inline

Get object class name.

Returns
Object class name string.

Definition at line 87 of file NTreeBranch.h.

References fObjectClassName.

Referenced by SaveEntry().

◆ Print()

void Ndmspc::NTreeBranch::Print ( Option_t *  option = "") const
virtual

Print branch information.

Parameters
optionPrint options.

Print

Definition at line 194 of file NTreeBranch.cxx.

References fBranch, fBranchStatus, fName, fObject, and fObjectClassName.

◆ SaveEntry()

void Ndmspc::NTreeBranch::SaveEntry ( NTreeBranch hnstIn,
bool  useProjection = false,
const std::string  projOpt = "OE" 
)

Save entry to another NTreeBranch.

Parameters
hnstInPointer to input NTreeBranch.
useProjectionUse projection.
projOptProjection options string.

Save entry

Definition at line 144 of file NTreeBranch.cxx.

References fName, GetObject(), GetObjectClassName(), and SetAddress().

◆ SetAddress()

void Ndmspc::NTreeBranch::SetAddress ( void *  address,
bool  deleteExisting = false 
)

Set address for branch data.

Parameters
addressPointer to branch data.
deleteExistingIf true, delete existing address.

Setting up address

Definition at line 59 of file NTreeBranch.cxx.

References fBranch, fName, and fObject.

Referenced by Ndmspc::NGnTree::Import(), Ndmspc::NGnThreadData::Init(), Ndmspc::NStorageTree::Merge(), Ndmspc::NGnThreadData::Process(), and SaveEntry().

◆ SetBranch()

void Ndmspc::NTreeBranch::SetBranch ( TBranch *  branch)
inline

Set branch pointer.

Parameters
branchPointer to TBranch.

Definition at line 57 of file NTreeBranch.h.

References fBranch.

◆ SetBranchAddress()

void Ndmspc::NTreeBranch::SetBranchAddress ( TTree *  tree)

Set branch address in TTree.

Parameters
treePointer to TTree.

Setting up branch address

Definition at line 77 of file NTreeBranch.cxx.

References fBranch, fBranchStatus, fName, and fObject.

◆ SetBranchStatus()

void Ndmspc::NTreeBranch::SetBranchStatus ( int  status)
inline

Set branch status.

Parameters
statusStatus integer to set.

Definition at line 114 of file NTreeBranch.h.

References fBranchStatus.

Referenced by Ndmspc::NGnNavigator::Reshape().

◆ SetName()

void Ndmspc::NTreeBranch::SetName ( const std::string &  name)
inline

Set branch name.

Parameters
nameBranch name.

Definition at line 45 of file NTreeBranch.h.

References fName.

◆ SetObject()

void Ndmspc::NTreeBranch::SetObject ( TObject *  obj)
inline

Set object pointer.

Parameters
objPointer to TObject.

Definition at line 63 of file NTreeBranch.h.

References fObject.

◆ SetObjectClassName()

void Ndmspc::NTreeBranch::SetObjectClassName ( const std::string &  objClassName)
inline

Set object class name.

Parameters
objClassNameObject class name.

Definition at line 51 of file NTreeBranch.h.

References fObjectClassName.


The documentation for this class was generated from the following files: