Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTreeInterface Class Reference

#include <DTreeInterface.h>

Classes

struct  DROOTTypeString
 
struct  DROOTTypeString< Bool_t >
 
struct  DROOTTypeString< Char_t >
 
struct  DROOTTypeString< Double_t >
 
struct  DROOTTypeString< Float_t >
 
struct  DROOTTypeString< Int_t >
 
struct  DROOTTypeString< Long64_t >
 
struct  DROOTTypeString< Short_t >
 
struct  DROOTTypeString< UChar_t >
 
struct  DROOTTypeString< UInt_t >
 
struct  DROOTTypeString< ULong64_t >
 
struct  DROOTTypeString< UShort_t >
 

Public Member Functions

 ~DTreeInterface (void)
 
void Set_InitialArraySize (string locArraySizeBranchName, UInt_t locInitialSize)
 
bool Create_Branches (const DTreeBranchRegister &locTreeBranchRegister)
 
void Set_TreeIndexBranchNames (string locTreeIndex_MajorBranchName, string locTreeIndex_MinorBranchName="0")
 
bool Get_BranchesCreatedFlag (void) const
 
const TList * Get_UserInfo (void) const
 
void Fill (DTreeFillData &locTreeFillData)
 

Static Public Member Functions

static DTreeInterfaceCreate_DTreeInterface (string locTreeName, string locFileName)
 

Private Member Functions

 DTreeInterface (string locTreeName, string locFileName)
 
 DTreeInterface (void)
 
void GetOrCreate_FileAndTree (string locTreeName)
 
void Create_Branch (const DTreeBranchRegister &locTreeBranchRegister, string locBranchName, map< string, size_t > &locFundamentalArraySizeMap)
 
void Create_Branch (string locBranchName, type_index locTypeIndex, size_t locArraySize, string locArraySizeName)
 
template<typename DType >
enable_if< std::is_base_of
< TObject, DType >::value,
void >::type 
Create_Branch (string locBranchName, size_t locArraySize, string locArraySizeName)
 
template<typename DType >
enable_if<!std::is_base_of
< TObject, DType >::value,
void >::type 
Create_Branch (string locBranchName, size_t locArraySize, string locArraySizeName)
 
template<typename DType >
void Create_Branch_Fundamental (string locBranchName)
 
template<typename DType >
void Create_Branch_TObject (string locBranchName)
 
template<typename DType >
void Create_Branch_FundamentalArray (string locBranchName, string locArraySizeString, unsigned int locInitialSize)
 
template<typename DType >
void Create_Branch_ClonesArray (string locBranchName, unsigned int locSize)
 
void Change_ArraySize (string locBranchName, type_index locTypeIndex, size_t locNewArraySize)
 
template<typename DType >
void Change_ArraySize (string locBranchName, int locNewArraySize)
 
void Fill (string locBranchName, type_index locTypeIndex, void *locVoidPointer, bool locIsArrayFlag, size_t locArrayIndex=0)
 
template<typename DType >
void Fill_TObject (string locBranchName, DType &locObject, bool locIsArrayFlag, size_t locArrayIndex)
 
template<typename DType >
DType * Get_Pointer_Fundamental (string locBranchName) const
 
template<typename DType >
DType * Get_Pointer_TObject (string locBranchName) const
 
TClonesArray * Get_Pointer_TClonesArray (string locBranchName)
 
map< string, int > & Get_NumWritersByFileMap (void) const
 
map< string, size_t > & Get_FundamentalArraySizeMap (TTree *locTree) const
 

Private Attributes

TTree * dTree
 
string dFileName
 
string dTreeIndex_MajorBranchName
 
string dTreeIndex_MinorBranchName
 
size_t dMaxArraySize = 1000
 
Long64_t dAutoFlush = -5000000
 
map< string, TClonesArray * > dMemoryMap_ClonesArray
 
map< string, TObject * > dMemoryMap_TObject
 

Detailed Description

Definition at line 29 of file DTreeInterface.h.

Constructor & Destructor Documentation

DTreeInterface::~DTreeInterface ( void  )
DTreeInterface::DTreeInterface ( string  locTreeName,
string  locFileName 
)
private
DTreeInterface::DTreeInterface ( void  )
private

Referenced by Create_DTreeInterface().

Member Function Documentation

void DTreeInterface::Change_ArraySize ( string  locBranchName,
type_index  locTypeIndex,
size_t  locNewArraySize 
)
private

Definition at line 315 of file DTreeInterface.cc.

Referenced by Fill().

template<typename DType >
void DTreeInterface::Change_ArraySize ( string  locBranchName,
int  locNewArraySize 
)
inlineprivate

Definition at line 262 of file DTreeInterface.h.

void DTreeInterface::Create_Branch ( const DTreeBranchRegister locTreeBranchRegister,
string  locBranchName,
map< string, size_t > &  locFundamentalArraySizeMap 
)
private
void DTreeInterface::Create_Branch ( string  locBranchName,
type_index  locTypeIndex,
size_t  locArraySize,
string  locArraySizeName 
)
private

Definition at line 204 of file DTreeInterface.cc.

template<typename DType >
enable_if< std::is_base_of< TObject, DType >::value, void >::type DTreeInterface::Create_Branch ( string  locBranchName,
size_t  locArraySize,
string  locArraySizeName 
)
inlineprivate

Definition at line 183 of file DTreeInterface.h.

template<typename DType >
enable_if<!std::is_base_of< TObject, DType >::value, void >::type DTreeInterface::Create_Branch ( string  locBranchName,
size_t  locArraySize,
string  locArraySizeName 
)
inlineprivate

Definition at line 192 of file DTreeInterface.h.

template<typename DType >
void DTreeInterface::Create_Branch_ClonesArray ( string  locBranchName,
unsigned int  locSize 
)
inlineprivate

Definition at line 229 of file DTreeInterface.h.

template<typename DType >
void DTreeInterface::Create_Branch_Fundamental ( string  locBranchName)
inlineprivate

Definition at line 200 of file DTreeInterface.h.

References string.

template<typename DType >
void DTreeInterface::Create_Branch_FundamentalArray ( string  locBranchName,
string  locArraySizeString,
unsigned int  locInitialSize 
)
inlineprivate

Definition at line 219 of file DTreeInterface.h.

References string.

template<typename DType >
void DTreeInterface::Create_Branch_TObject ( string  locBranchName)
inlineprivate

Definition at line 210 of file DTreeInterface.h.

void DTreeInterface::Fill ( string  locBranchName,
type_index  locTypeIndex,
void *  locVoidPointer,
bool  locIsArrayFlag,
size_t  locArrayIndex = 0 
)
private

Definition at line 342 of file DTreeInterface.cc.

template<typename DType >
void DTreeInterface::Fill_TObject ( string  locBranchName,
DType &  locObject,
bool  locIsArrayFlag,
size_t  locArrayIndex 
)
inlineprivate

Definition at line 271 of file DTreeInterface.h.

bool DTreeInterface::Get_BranchesCreatedFlag ( void  ) const

Definition at line 112 of file DTreeInterface.cc.

References dFileName, dTree, and japp.

Referenced by DEventWriterROOT::Create_DataTree(), and DEventWriterROOT::Create_ThrownTree().

map< string, size_t > & DTreeInterface::Get_FundamentalArraySizeMap ( TTree *  locTree) const
private

Definition at line 13 of file DTreeInterface.cc.

References japp.

Referenced by Create_Branches(), and Fill().

map< string, int > & DTreeInterface::Get_NumWritersByFileMap ( void  ) const
private

Definition at line 5 of file DTreeInterface.cc.

Referenced by DTreeInterface(), and ~DTreeInterface().

template<typename DType >
DType * DTreeInterface::Get_Pointer_Fundamental ( string  locBranchName) const
inlineprivate

Definition at line 162 of file DTreeInterface.h.

TClonesArray * DTreeInterface::Get_Pointer_TClonesArray ( string  locBranchName)
inlineprivate

Definition at line 174 of file DTreeInterface.h.

Referenced by Fill().

template<typename DType >
DType * DTreeInterface::Get_Pointer_TObject ( string  locBranchName) const
inlineprivate

Definition at line 168 of file DTreeInterface.h.

const TList * DTreeInterface::Get_UserInfo ( void  ) const

Definition at line 120 of file DTreeInterface.cc.

References dTree.

void DTreeInterface::GetOrCreate_FileAndTree ( string  locTreeName)
private

Definition at line 85 of file DTreeInterface.cc.

References dAutoFlush, dFileName, dTree, and japp.

Referenced by DTreeInterface().

void DTreeInterface::Set_InitialArraySize ( string  locArraySizeBranchName,
UInt_t  locInitialSize 
)
void DTreeInterface::Set_TreeIndexBranchNames ( string  locTreeIndex_MajorBranchName,
string  locTreeIndex_MinorBranchName = "0" 
)
inline

Member Data Documentation

Long64_t DTreeInterface::dAutoFlush = -5000000
private

Definition at line 154 of file DTreeInterface.h.

Referenced by GetOrCreate_FileAndTree().

string DTreeInterface::dFileName
private
size_t DTreeInterface::dMaxArraySize = 1000
private

Definition at line 153 of file DTreeInterface.h.

map<string, TClonesArray*> DTreeInterface::dMemoryMap_ClonesArray
private

Definition at line 155 of file DTreeInterface.h.

map<string, TObject*> DTreeInterface::dMemoryMap_TObject
private

Definition at line 156 of file DTreeInterface.h.

TTree* DTreeInterface::dTree
private
string DTreeInterface::dTreeIndex_MajorBranchName
private

Definition at line 145 of file DTreeInterface.h.

Referenced by ~DTreeInterface().

string DTreeInterface::dTreeIndex_MinorBranchName
private

Definition at line 146 of file DTreeInterface.h.

Referenced by ~DTreeInterface().


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