PandaTree
Public Member Functions | Protected Member Functions | Friends | List of all members
panda::ArrayBase Class Reference

Base class for fixed-size containers. More...

#include <ArrayBase.h>

Inheritance diagram for panda::ArrayBase:
panda::ContainerBase panda::ReaderObject panda::Object

Public Member Functions

 ArrayBase (ArrayBase const &src)=delete
 
ArrayBaseoperator= (ArrayBase const &)=delete
 
void setStatus (TTree &, utils::BranchList const &blist) final
 Set status of branches to true (matching branch) or false (vetoed branch) More...
 
utils::BranchList getStatus (TTree &) const final
 Get status of branches in the tree.
 
utils::BranchList getBranchNames (Bool_t fullName=kTRUE, Bool_t=kFALSE) const final
 Get the full list of branch names. More...
 
UInt_t setAddress (TTree &, utils::BranchList const &blist={"*"}, Bool_t setStatus=kTRUE) final
 Bind the tree branches to the elements of this object. More...
 
void book (TTree &, utils::BranchList const &blist={"*"}) final
 Book new branches bound to this object on the tree. More...
 
void init () final
 Reset the object state.
 
UInt_t size () const final
 
- Public Member Functions inherited from panda::ContainerBase
 ContainerBase (ContainerBase const &)=delete
 
ContainerBaseoperator= (ContainerBase const &)=delete
 
char const * getName () const final
 Name of this object.
 
void setName (char const *name) final
 Set object name.
 
void print (std::ostream &=std::cout, UInt_t level=1) const override
 Print the object content.
 
void dump (std::ostream &=std::cout) const override
 Dump the object content.
 
virtual Element::datastoregetData ()=0
 
virtual Element::datastore const & getData () const =0
 
virtual ElementelemAt (UInt_t)=0
 
virtual Element const & elemAt (UInt_t) const =0
 
virtual std::vector< UInt_t > sort (Comparison const &fct)=0
 Sort the contents using a comparison function and returns an array of pre-sort indices. More...
 
- Public Member Functions inherited from panda::ReaderObject
 ReaderObject (ReaderObject const &src)
 
ReaderObjectoperator= (ReaderObject const &)
 
Int_t getEntry (TTree &tree, Long64_t entry, Bool_t localEntry=kFALSE) final
 Read an entry from an input tree. More...
 
Int_t getEntry (UInt_t treeId, Long64_t entry, Bool_t localEntry=kFALSE) override
 Read an entry from an input tree. More...
 
virtual void unlink (TTree &)
 Unlink from a tree.
 
void updateBranchArray (TTree &)
 
- Public Member Functions inherited from panda::Object
 Object (Object const &)
 
Objectoperator= (Object const &)
 
virtual Int_t fill (TTree &tree)
 Fill a tree. More...
 

Protected Member Functions

 ArrayBase (char const *name, UInt_t unitSize, Bool_t dummy)
 
- Protected Member Functions inherited from panda::ContainerBase
 ContainerBase (char const *name, UInt_t unitSize)
 
- Protected Member Functions inherited from panda::ReaderObject
UInt_t registerInput_ (TTree &)
 

Friends

class Element
 

Additional Inherited Members

- Public Types inherited from panda::ContainerBase
typedef std::function< bool(Element const &, Element const &)> Comparison
 
- Protected Types inherited from panda::ReaderObject
typedef std::vector< TBranch * > BranchArray
 
typedef std::pair< TTree *, BranchArray > BranchMapping
 List of branches linked with this object in the tree.
 
- Protected Attributes inherited from panda::ContainerBase
TString name_ {""}
 
UInt_t const unitSize_ {0}
 
Char_t * array_ {0}
 
- Protected Attributes inherited from panda::ReaderObject
std::vector< BranchMappinginputBranches_
 List of list of input branches. More...
 

Detailed Description

Base class for fixed-size containers.

Panda containers can be fixed-size (Array) or dynamic-size (Collection). Fixed-size containers are similar to C arrays, and are more light weight and faster to use.

Member Function Documentation

§ book()

void panda::ArrayBase::book ( TTree &  tree,
utils::BranchList const &  = {"*"} 
)
finalvirtual

Book new branches bound to this object on the tree.

Parameters
tree
blistList of branches to book. Vetoed or unmentioned branches are not booked.

Reimplemented from panda::Object.

§ getBranchNames()

panda::utils::BranchList panda::ArrayBase::getBranchNames ( Bool_t  fullName = kTRUE,
Bool_t  direct = kFALSE 
) const
finalvirtual

Get the full list of branch names.

Parameters
fullNameIf true, prepend "(object name)."
directIf true, return only direct branches of this object (relevant only for TreeEntry)

Reimplemented from panda::Object.

§ setAddress()

UInt_t panda::ArrayBase::setAddress ( TTree &  tree,
utils::BranchList const &  = {"*"},
Bool_t  setStatus = kTRUE 
)
finalvirtual

Bind the tree branches to the elements of this object.

Parameters
tree
blistList of branches to bind. Vetoed or unmentioned branches are not bound.
setStatusIf true, set the status of the branch to true before binding.
Returns
Index of the bound tree in the inputBranches_ vector.

Reimplemented from panda::Object.

§ setStatus()

void panda::ArrayBase::setStatus ( TTree &  tree,
utils::BranchList const &   
)
finalvirtual

Set status of branches to true (matching branch) or false (vetoed branch)

Sets the status of the branch to true (branch is in the list) or false (branch is vetoed in the list). Branches not mentioned in the branch list are untouched.

Parameters
tree
blistList of branches. The status of a branch is set to true (false) if BranchName::in(blist) (BranchName::vetoed(blist)) evaluates to true for the branch.

Reimplemented from panda::Object.


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