seed::TSingleEntryTree


class description - source file - inheritance tree

class seed::TSingleEntryTree : public TObject


    protected:
seed::TSingleEntryTree TSingleEntryTree(TTree& tree, void* pUserParam = NULL, map<std::string,void*>* pMapUserParam = NULL) void AddBranchRead(const Char_t* cBranch) const Char_t* GetBranchesRead() const TBranch* GetCurrentBranch() const Int_t GetCurrentIndex() const TLeaf* GetNtupleLeaf(const Char_t* cLeafName, const Char_t* cBranchName = "NULL") Bool_t IsBranchRead(const Char_t* cBranch) const void NotifyInitSeed() void NotifyInitSeedBegin() void NotifyInitSeedEnd() void ResetTransfers() Int_t SetEntry(Int_t iEntry) void TransferEvent() Bool_t TransferGeneric(const char* cTypeName, void* pTarget, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize) Bool_t TransferGenericArr(const char* cTypeName, void** pTarget, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize) void UpdateTransfers() public:
seed::TSingleEntryTree TSingleEntryTree(const seed::TSingleEntryTree&) virtual void ~TSingleEntryTree() static TClass* Class() Int_t GetDebug() const void* GetUserParameter() const void* GetUserParameter(const Char_t* strSeed) Double_t GetValue(const Char_t* strBranch, const Char_t* cLeaf, const Int_t iIndex = 0) Double_t GetValue(const Char_t* cLeaf, const Int_t iIndex = -1) Double_t* GetValueArr(const Char_t* strBranch, const Char_t* cLeaf) Double_t* GetValueArr(const Char_t* cLeaf) Bool_t GetValueBool(const Char_t* strBranch, const Char_t* cLeaf, const Int_t iIndex = 0) Bool_t GetValueBool(const Char_t* cLeaf, const Int_t iIndex = -1) Bool_t* GetValueBoolArr(const Char_t* strBranch, const Char_t* cLeaf) Bool_t* GetValueBoolArr(const Char_t* cLeaf) Int_t GetValueInt(const Char_t* strBranch, const Char_t* cLeaf, const Int_t iIndex = 0) Int_t GetValueInt(const Char_t* cLeaf, const Int_t iIndex = -1) Int_t* GetValueIntArr(const Char_t* strBranch, const Char_t* cLeaf) Int_t* GetValueIntArr(const Char_t* cLeaf) Bool_t HasValue(const Char_t* strBranch, const Char_t* cLeaf) virtual TClass* IsA() const virtual void Print(Option_t* opt) const Bool_t SetBranch(const Char_t* cBranch) seed::TSingleEntryTree& SetDebug(const Int_t iDebug) seed::TSingleEntryTree& SetIndex(const Int_t iIndex) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Bool_t Transfer(Double_t& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Float_t& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Int_t& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Bool_t& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(UInt_t& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Double_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Float_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Int_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(Bool_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1) Bool_t Transfer(UInt_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1)

Data Members


    protected:
Int_t fICurrentIndex Int_t fIEntry Int_t fIDebug TTree* fPTree protect all TTree methods TBranch* fPCurrentBranch pointer to currently read branch void* fUserParam user defined parameter map<std::string,void*>* fMapUserParam map of user defined parameters TString fBranchesRead ! concatenated string of branches accessed for reading Bool_t fSeedRequestedBranch ! Current seed has called SetBranch or GetNtupleLeaf map<TLeaf*,std::list<void*> > fDataMap ! Map of leaf to member address (e.g. Double_t or Double_t[0][0]) map<void**,TLeaf*> fDataMapArr ! Map of leaf to member array address (e.g. Double_t*)

Class Description

 Wrapper class for an n-tuple tree.
 This class in constructed giving a tree with an event selected by seed::TEventSample.
 You can read data out of the n-tuple using the GetValue methods.

Double_t GetValue(const Char_t *strBranch, const Char_t *cLeaf, const Int_t iIndex)
 Get value of leaf in branch, given an index of the leaf

 Parameters
 strBranch: branch name to access
 cLeaf:  leaf name to access
 iIndex:  index of the leaf to read

Double_t GetValue(const Char_t *cLeaf, const Int_t iIndex)
 Get value of the leaf "cLeaf" in branch as set by SetBranch.
 * If no Index is given...
  * if leaf has only one entry, this entry will be returned
  * else the entry with index set by SetIndex is returned
 * else
  * if leaf has only one entry, this entry will be returned
  * the entry with index given as parameter is returned.

Bool_t GetValueBool(const Char_t *strBranch, const Char_t *cLeaf, const Int_t iIndex)
 GetValue for bools. See seed::TSingleEntryTree::GetValue for details

Bool_t GetValueBool(const Char_t *cLeaf, const Int_t iIndex)
 GetValue for bools. See seed::TSingleEntryTree::GetValue for details

Int_t GetValueInt(const Char_t *strBranch, const Char_t *cLeaf, const Int_t iIndex)

Int_t GetValueInt(const Char_t *cLeaf, const Int_t iIndex)
 GetValue for ints. See seed::TSingleEntryTree::GetValue for details

Double_t* GetValueArr(const Char_t *strBranch, const Char_t *cLeaf)
 Get pointer to values of leaf in branch

 Parameters
 strBranch: branch name to access
 cLeaf:  leaf name to access

 REMEMBER: Arrays are NOT very object oriented...

Double_t* GetValueArr(const Char_t *cLeaf)
 Get pointer to values of the leaf "cLeaf" in branch as set by SetBranch.

 REMEMBER: Arrays are NOT very object oriented...

Bool_t* GetValueBoolArr(const Char_t *strBranch, const Char_t *cLeaf)
 Get pointer to values of leaf in branch

 Parameters
 strBranch: branch name to access
 cLeaf:  leaf name to access

 REMEMBER: Arrays are NOT very object oriented...

Bool_t* GetValueBoolArr(const Char_t *cLeaf)
 Get pointer to values of the leaf "cLeaf" in branch as set by SetBranch.

 REMEMBER: Arrays are NOT very object oriented...

Int_t* GetValueIntArr(const Char_t *strBranch, const Char_t *cLeaf)
 Get pointer to values of leaf in branch

 Parameters
 strBranch: branch name to access
 cLeaf:  leaf name to access

 REMEMBER: Arrays are NOT very object oriented...

Int_t* GetValueIntArr(const Char_t *cLeaf)
 Get pointer to values of the leaf "cLeaf" in branch as set by SetBranch.

 REMEMBER: Arrays are NOT very object oriented...

Bool_t TransferGeneric( const char* cTypeName, void* pTarget, const Char_t* cLeafName,const Char_t* cBranchName, Int_t iSize)
 internal method.
 adds pTarget to the map of targets for ntuple data updates
 and checks that the size of the array the TSingleEntryTree will be
 writing to is big enough for the number of values (using iSize)
 Used by the Transfer methods.

Bool_t TransferGenericArr( const char* cTypeName, void** pTarget, const Char_t* cLeafName,const Char_t* cBranchName, Int_t iSize)
 internal method.
 adds pTarget to the map of targets for ntuple data updates
 and checks that the size of the array the TSingleEntryTree will be
 writing to is big enough for the number of values (using iSize)

 Used by the Transfer methods.

Bool_t Transfer(Double_t &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's value.
 and checks that the size of the array the TSingleEntryTree will be
 writing to is big enough for the number of values (using iSize)

 Used for members of classes deriving from TSeedABC.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Float_t &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's value.
 Used for members of classes deriving from TSeedABC.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Int_t &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's value.
 Used for members of classes deriving from TSeedABC.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Bool_t &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's value.
 Used for members of classes deriving from TSeedABC.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Double_t* &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep the array pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's values.
 Used for members of classes deriving from TSeedABC and leaves holding a
 one dimensional array for each entry/event.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Float_t* &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep the array pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's values.
 Used for members of classes deriving from TSeedABC and leaves holding an
 one dimensional array for each entry/event.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Int_t* &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep the array pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's values.
 Used for members of classes deriving from TSeedABC and leaves holding an
 one dimensional array for each entry/event.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

Bool_t Transfer(Bool_t* &pVal, const Char_t* cLeafName, const Char_t* cBranchName, Int_t iSize)
 Tells the TSingleEntryTree to keep the array pVal updated with ntuple data,
 i.e. if a new tree entry is selected it will update pVal with
 this entry's values.
 Used for members of classes deriving from TSeedABC and leaves holding an
 one dimensional array for each entry/event.

 Parameters
   pVal:         variable where ntuple data should be transferred to
   cLeafName:    name of a leaf. This leaf's data will be transferred to pVal
   cBranchName:  name of a branch. Can be NULL (or not given) in which case
                 the currently selected branch (via SetBranch) is assumed
   iSize:        the size of the array pVal to allow checking of the array
                 boundary

TLeaf* GetNtupleLeaf(const Char_t* cLeafName, const Char_t* cBranchName)
 internal method
 returns the leaf named cLeafName in branch cBranchName or if cBranchName==NULL in the
 branch currently selected by SetBranch

Int_t SetEntry(Int_t iEntry)
 selects a new entry in the tree and updates all transfer requests

void UpdateTransfers()
 internal method.
 transfers data from ntuple to entries in transfer maps

void TransferEvent()
 internal method.
 Updates the leaf data of the current event that was requested by
 Transfer calls.

void ResetTransfers()
 internal method.
 clears the transfer maps

void NotifyInitSeed()
 Called after an activated seed's Init method has been called.
 Here, TSingleEntryTree checks whether the seed has requested data
 from a certain branch, if not, all input branches will be enabled.

void NotifyInitSeedBegin()
 Initializes branch check as described in
 seed::TSingleEntryTree::NotifyInitSeed.

void NotifyInitSeedEnd()
 called after all activated seeds' Init methods have been called.



Inline Functions


                           void Print(Option_t* opt) const
                         Bool_t SetBranch(const Char_t* cBranch)
        seed::TSingleEntryTree& SetIndex(const Int_t iIndex)
        seed::TSingleEntryTree& SetDebug(const Int_t iDebug)
                          Int_t GetDebug() const
                          void* GetUserParameter() const
                          void* GetUserParameter(const Char_t* strSeed)
                         Bool_t HasValue(const Char_t* strBranch, const Char_t* cLeaf)
                         Bool_t Transfer(Bool_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1)
                         Bool_t Transfer(UInt_t*& pVal, const Char_t* cLeafName, const Char_t* cBranchName = "NULL", Int_t iSize = -1)
         seed::TSingleEntryTree TSingleEntryTree(TTree& tree, void* pUserParam = NULL, map<std::string,void*>* pMapUserParam = NULL)
                       TBranch* GetCurrentBranch() const
                          Int_t GetCurrentIndex() const
                           void AddBranchRead(const Char_t* cBranch)
                         Bool_t IsBranchRead(const Char_t* cBranch) const
                  const Char_t* GetBranchesRead() const
                        TClass* Class()
                        TClass* IsA() const
                           void ShowMembers(TMemberInspector& insp, char* parent)
                           void Streamer(TBuffer& b)
                           void StreamerNVirtual(TBuffer& b)
         seed::TSingleEntryTree TSingleEntryTree(const seed::TSingleEntryTree&)
                           void ~TSingleEntryTree()


Author: Axel Naumann 10/02/2001
Last update: Tue Feb 25 11:33:48 2003


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.