EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHNodeIOManager Class Reference

#include <fun4all_coresoftware/blob/master/offline/framework/phool/PHNodeIOManager.h>

+ Inheritance diagram for PHNodeIOManager:
+ Collaboration diagram for PHNodeIOManager:

Public Member Functions

 PHNodeIOManager ()
 
 PHNodeIOManager (const std::string &, const PHAccessType=PHReadOnly)
 
 PHNodeIOManager (const std::string &, const std::string &, const PHAccessType=PHReadOnly)
 
 PHNodeIOManager (const std::string &, const PHAccessType, const PHTreeType)
 
 ~PHNodeIOManager () override
 
void closeFile () override
 
bool write (PHCompositeNode *) override
 
void print () const override
 
bool setFile (const std::string &, const std::string &, const PHAccessType=PHReadOnly)
 
PHCompositeNoderead (PHCompositeNode *=nullptr, size_t=0)
 
bool read (size_t requestedEvent)
 
int readSpecific (size_t requestedEvent, const std::string &objectName)
 
void selectObjectToRead (const std::string &objectName, bool readit)
 
bool isSelected (const std::string &objectName)
 
int isFunctional () const
 
bool SetCompressionLevel (const int level)
 
double GetBytesWritten ()
 
std::map< std::string, TBranch * > * GetBranchMap ()
 
bool write (TObject **, const std::string &, int buffersize, int splitlevel)
 
bool NodeExist (const std::string &nodename)
 
- Public Member Functions inherited from PHIOManager
virtual ~PHIOManager ()
 
std::string getFilename () const
 
size_t getEventNumber () const
 
void setEventNumber (const size_t evno)
 

Private Member Functions

int FillBranchMap ()
 
PHCompositeNodereconstructNodeTree (PHCompositeNode *)
 
bool readEventFromFile (size_t requestedEvent)
 
std::string getBranchClassName (TBranch *)
 

Private Attributes

TFile * file = nullptr
 
TTree * tree = nullptr
 
std::string TreeName = "T"
 
int accessMode = PHReadOnly
 
int CompressionLevel = 3
 
std::map< std::string, TBranch * > fBranches
 
std::map< std::string, bool > objectToRead
 
int isFunctionalFlag = 0
 

Additional Inherited Members

- Protected Member Functions inherited from PHIOManager
 PHIOManager ()
 
- Protected Attributes inherited from PHIOManager
std::string filename
 
size_t eventNumber = 0
 

Detailed Description

Definition at line 22 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 22 of file PHNodeIOManager.h

Constructor & Destructor Documentation

PHNodeIOManager::PHNodeIOManager ( )
inline

Definition at line 25 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 25 of file PHNodeIOManager.h

PHNodeIOManager::PHNodeIOManager ( const std::string &  f,
const PHAccessType  a = PHReadOnly 
)

Definition at line 35 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 35 of file PHNodeIOManager.cc

PHNodeIOManager::PHNodeIOManager ( const std::string &  f,
const std::string &  title,
const PHAccessType  a = PHReadOnly 
)

Definition at line 41 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 41 of file PHNodeIOManager.cc

PHNodeIOManager::PHNodeIOManager ( const std::string &  f,
const PHAccessType  a,
const PHTreeType  treeindex 
)

Definition at line 47 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 47 of file PHNodeIOManager.cc

References PHEventTree.

PHNodeIOManager::~PHNodeIOManager ( )
override

Definition at line 59 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 59 of file PHNodeIOManager.cc

References eicpy.qaplots::file.

Member Function Documentation

void PHNodeIOManager::closeFile ( )
overridevirtual

Implements PHIOManager.

Definition at line 65 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 65 of file PHNodeIOManager.cc

References eicpy.qaplots::file, PHUpdate, and PHWrite.

int PHNodeIOManager::FillBranchMap ( )
private

Definition at line 554 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 554 of file PHNodeIOManager.cc

References eicpy.qaplots::file, INPUTHEPMC::filename, and PHWHERE.

string PHNodeIOManager::getBranchClassName ( TBranch *  branch)
private

Definition at line 237 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 237 of file PHNodeIOManager.cc

References exit(), and PHWHERE.

+ Here is the call graph for this function:

map< string, TBranch * > * PHNodeIOManager::GetBranchMap ( )

Definition at line 548 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 548 of file PHNodeIOManager.cc

Referenced by Fun4AllDstInputManager::ReadNextEventSyncObject().

+ Here is the caller graph for this function:

double PHNodeIOManager::GetBytesWritten ( )

Definition at line 541 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 541 of file PHNodeIOManager.cc

References eicpy.qaplots::file.

int PHNodeIOManager::isFunctional ( ) const
inline

Definition at line 41 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 41 of file PHNodeIOManager.h

References isFunctionalFlag.

Referenced by Fun4AllDstInputManager::fileopen(), Fun4AllDstOutputManager::Fun4AllDstOutputManager(), and Fun4AllDstOutputManager::outfileopen().

+ Here is the caller graph for this function:

bool PHNodeIOManager::isSelected ( const std::string &  objectName)

Definition at line 513 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 513 of file PHNodeIOManager.cc

References p.

bool PHNodeIOManager::NodeExist ( const std::string &  nodename)

Definition at line 579 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 579 of file PHNodeIOManager.cc

References phooldefs::branchpathdelim, and phooldefs::legacypathdelims.

Referenced by Fun4AllDstInputManager::fileopen().

+ Here is the caller graph for this function:

void PHNodeIOManager::print ( void  ) const
overridevirtual

Implements PHIOManager.

Definition at line 211 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 211 of file PHNodeIOManager.cc

References eicpy.qaplots::file, INPUTHEPMC::filename, and PHReadOnly.

Referenced by Fun4AllDstInputManager::fileopen(), and Fun4AllDstInputManager::Print().

+ Here is the caller graph for this function:

PHCompositeNode * PHNodeIOManager::read ( PHCompositeNode topNode = nullptr,
size_t  requestedEvent = 0 
)

Definition at line 191 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 191 of file PHNodeIOManager.cc

Referenced by Fun4AllDstInputManager::fileopen(), Fun4AllDstPileupInputManager::fileopen(), Fun4AllSingleDstPileupInputManager::fileopen(), Fun4AllDstInputManager::ReadNextEventSyncObject(), Fun4AllDstInputManager::run(), and Fun4AllDstInputManager::SyncIt().

+ Here is the caller graph for this function:

bool PHNodeIOManager::read ( size_t  requestedEvent)

Definition at line 178 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 178 of file PHNodeIOManager.cc

bool PHNodeIOManager::readEventFromFile ( size_t  requestedEvent)
private

Definition at line 272 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 272 of file PHNodeIOManager.cc

References exit(), eicpy.qaplots::file, PHError, PHMessage(), and PHWHERE.

+ Here is the call graph for this function:

int PHNodeIOManager::readSpecific ( size_t  requestedEvent,
const std::string &  objectName 
)

Definition at line 320 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 320 of file PHNodeIOManager.cc

References p, PHError, and PHMessage().

Referenced by Fun4AllDstInputManager::ReadNextEventSyncObject().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

PHCompositeNode * PHNodeIOManager::reconstructNodeTree ( PHCompositeNode topNode)
private

Definition at line 344 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 344 of file PHNodeIOManager.cc

References PHNodeIterator::addNode(), phooldefs::branchpathdelim, PHNodeIterator::cd(), PHDataNode< T >::data, eicpy.qaplots::file, INPUTHEPMC::filename, PHNodeIterator::findFirst(), PHDataNode< T >::getData(), it, phooldefs::legacypathdelims, PHWHERE, and PHNode::setObjectType().

+ Here is the call graph for this function:

void PHNodeIOManager::selectObjectToRead ( const std::string &  objectName,
bool  readit 
)

Definition at line 495 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 495 of file PHNodeIOManager.cc

References it.

Referenced by Fun4AllDstInputManager::setBranches(), and Fun4AllDstInputManager::setSyncBranches().

+ Here is the caller graph for this function:

bool PHNodeIOManager::SetCompressionLevel ( const int  level)

Definition at line 525 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 525 of file PHNodeIOManager.cc

References eicpy.qaplots::file.

Referenced by Fun4AllDstOutputManager::Fun4AllDstOutputManager(), and Fun4AllDstOutputManager::outfileopen().

+ Here is the caller graph for this function:

bool PHNodeIOManager::setFile ( const std::string &  f,
const std::string &  title,
const PHAccessType  a = PHReadOnly 
)

Definition at line 77 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 77 of file PHNodeIOManager.cc

References eicpy.qaplots::file, INPUTHEPMC::filename, PHReadOnly, PHUpdate, and PHWrite.

bool PHNodeIOManager::write ( PHCompositeNode topNode)
overridevirtual

Implements PHIOManager.

Definition at line 134 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 134 of file PHNodeIOManager.cc

References eicpy.qaplots::file, and PHCompositeNode::write().

Referenced by Fun4AllDstOutputManager::Write(), PHIODataNode< T >::write(), and Fun4AllDstOutputManager::WriteNode().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHNodeIOManager::write ( TObject **  data,
const std::string &  path,
int  buffersize,
int  splitlevel 
)

Definition at line 155 of file PHNodeIOManager.cc.

View newest version in sPHENIX GitHub at line 155 of file PHNodeIOManager.cc

References data, and eicpy.qaplots::file.

Member Data Documentation

int PHNodeIOManager::accessMode = PHReadOnly
private

Definition at line 58 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 58 of file PHNodeIOManager.h

int PHNodeIOManager::CompressionLevel = 3
private

Definition at line 59 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 59 of file PHNodeIOManager.h

std::map<std::string, TBranch *> PHNodeIOManager::fBranches
private

Definition at line 60 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 60 of file PHNodeIOManager.h

TFile* PHNodeIOManager::file = nullptr
private

Definition at line 55 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 55 of file PHNodeIOManager.h

int PHNodeIOManager::isFunctionalFlag = 0
private

Definition at line 63 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 63 of file PHNodeIOManager.h

Referenced by isFunctional().

std::map<std::string, bool> PHNodeIOManager::objectToRead
private

Definition at line 61 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 61 of file PHNodeIOManager.h

TTree* PHNodeIOManager::tree = nullptr
private

Definition at line 56 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 56 of file PHNodeIOManager.h

std::string PHNodeIOManager::TreeName = "T"
private

Definition at line 57 of file PHNodeIOManager.h.

View newest version in sPHENIX GitHub at line 57 of file PHNodeIOManager.h


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