ndmspc v1.2.0-0.1.rc7
Loading...
Searching...
No Matches
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.
 
virtual ~NTreeBranch ()
 Destructor.
 
virtual void Print (Option_t *option="") const
 Print branch information.
 
void SetName (const std::string &name)
 Set branch name.
 
void SetObjectClassName (const std::string &objClassName)
 Set object class name.
 
void SetBranch (TBranch *branch)
 Set branch pointer.
 
void SetObject (TObject *obj)
 Set object pointer.
 
TBranch * GetBranch ()
 Get branch pointer.
 
int GetBranchStatus () const
 Get branch status.
 
TObject * GetObject () const
 Get object pointer.
 
std::string GetObjectClassName () const
 Get object class name.
 
TBranch * Branch (TTree *tree, void *address)
 Create branch in TTree with given address.
 
void SetAddress (void *address, bool deleteExisting=false)
 Set address for branch data.
 
void SetBranchAddress (TTree *tree)
 Set branch address in TTree.
 
void SetBranchStatus (int status)
 Set branch status.
 
Long64_t GetEntry (TTree *tree, Long64_t entry)
 Get entry from TTree.
 
void SaveEntry (NTreeBranch *hnstIn, bool useProjection=false, const std::string projOpt="OE")
 Save entry to another NTreeBranch.
 

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(), fName, and fObjectClassName.

Referenced by SaveEntry().

◆ ~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(), 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(), NTreeBranch(), 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.

Member Data Documentation

◆ fBranch

TBranch* Ndmspc::NTreeBranch::fBranch {nullptr}
private

! Branch pointer

Definition at line 135 of file NTreeBranch.h.

Referenced by Branch(), GetBranch(), GetEntry(), Print(), SetAddress(), SetBranch(), and SetBranchAddress().

◆ fBranchStatus

int Ndmspc::NTreeBranch::fBranchStatus {1}
private

Branch status.

Definition at line 134 of file NTreeBranch.h.

Referenced by GetBranchStatus(), Print(), SetBranchAddress(), and SetBranchStatus().

◆ fName

std::string Ndmspc::NTreeBranch::fName {""}
private

Branch name.

Definition at line 133 of file NTreeBranch.h.

Referenced by Branch(), GetEntry(), NTreeBranch(), Print(), SaveEntry(), SetAddress(), SetBranchAddress(), and SetName().

◆ fObject

TObject* Ndmspc::NTreeBranch::fObject {nullptr}
private

! Object pointer

Definition at line 136 of file NTreeBranch.h.

Referenced by GetEntry(), GetObject(), Print(), SetAddress(), SetBranchAddress(), and SetObject().

◆ fObjectClassName

std::string Ndmspc::NTreeBranch::fObjectClassName {"TObject"}
private

Object class name.

Definition at line 137 of file NTreeBranch.h.

Referenced by Branch(), GetObjectClassName(), NTreeBranch(), Print(), and SetObjectClassName().


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